@charset "UTF-8";

html {
  font-size: 21.3333px !important; 
}

:root {
  --c-primary:    #233d42;   
  --c-secondary:  #406971;   
  --c-mint:       #ddefdd;   
  --c-off:        #f4f5f4; 
  --c-black:      #030303;   
  --c-gray:       #d9d9d9; 
  --c-white:      #ffffff;

  --c-primary-dk:  #1a2e33; 
  --c-secondary-lt:#5a8a95; 
  --c-mint-dk:     #c2dac2; 
  --c-text:        var(--c-black);
  --c-muted:       #5a6a6d;
  --c-focus:       #f59e0b;

  /* Typography – Archivo */
  --font:      'Archivo', sans-serif;
  --fs-xs:     0.6875rem;   /* 11px */
  --fs-sm:     0.8125rem;   /* 13px */
  --fs-base:   1rem;        /* 16px */
  --fs-md:     1.0625rem;   /* 17px */
  --fs-lg:     1.25rem;     /* 20px  - 1.25rem;*/
  --fs-xl:     1.5rem;      /* 24px – H4 - 1.5rem;*/
  --fs-2xl:    2.25rem;     /* 36px – H3 - 2.25rem;*/
  --fs-3xl:    3.0rem;     /* 60px – H2 - 3.75rem */
  --fs-hero:   clamp(2.25rem, 5.5vw, 5rem); 
  --max-w:     1200px;
  --px:        clamp(1.25rem, 4vw, 2.5rem);
  --r:         2px;
  --r-md:      4px;
  --shadow-sm: 0 1px 4px rgba(0,0,0,.08);
  --shadow-md: 0 4px 16px rgba(0,0,0,.12);
  --shadow-lg: 0 8px 32px rgba(0,0,0,.18);
  --t:  .2s ease;
  --t-slow: .38s ease;
  --util-bar-h: 1.5rem;   
}

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body {
  font-family: var(--font);
  font-size: var(--fs-base);
  font-weight: 400;
  line-height: 1.65;
  color: var(--c-text);
  background: var(--c-white);
  -webkit-font-smoothing: antialiased;
}


.icon {
  width: 1em;
  height: 1em;
  fill: currentColor;
  display: inline-block;
  vertical-align: -0.125em;
}

img { display: block; max-width: 100%; height: auto; }
a { color: inherit; text-decoration: none; }
ul, ol { list-style: none; }
button { font-family: var(--font); cursor: pointer; border: none; background: none; }
address { font-style: normal; }

h1 { font-size: var(--fs-hero); font-weight: 900; line-height: 1.02; letter-spacing: -.02em; }
h2 { font-size: var(--fs-3xl);  font-weight: 900; line-height: 1.08; }
h3 { font-size: var(--fs-2xl);  font-weight: 800; line-height: 1.15; }
h4 { font-size: var(--fs-xl);   font-weight: 700; line-height: 1.3; }
h5 { font-size: var(--fs-base); font-weight: 700; }
h6 { font-size: var(--fs-xs);   font-weight: 400; }
p  { font-size: var(--fs-base); font-weight: 400; line-height: 1.7; }


.container {
  max-width: 100%;
  margin: 0 auto;
  padding-left: clamp(1rem, 5vw, 6.25rem);
  padding-right: clamp(1rem, 5vw, 6.25rem);
  position: relative;
  box-sizing: border-box;
}

.news-card__cat-tag {
  display: none !important;
}

.skip-link {
  position: absolute; top: -100%; left: 1rem; z-index: 9999;
  padding: .5rem 1.25rem;
  background: var(--c-focus); color: #000;
  font-weight: 700; font-size: var(--fs-sm);
  border-radius: var(--r);
  transition: top .2s;
}
.skip-link:focus { top: .75rem; }


.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;
}


:focus-visible {
  outline: 3px solid var(--c-focus);
  outline-offset: 2px;
  border-radius: var(--r);
}


.section-label {
  display: block;
  font-size: var(--fs-xs);
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--c-secondary);
  margin-bottom: .875rem;
}

.btn {
  display: inline-flex; align-items: center; gap: .5rem;
  padding: .75rem 1.5rem;
  font-size: var(--fs-sm); font-weight: 700; letter-spacing: .05em;
  text-transform: uppercase;
  border-radius: var(--r);
  transition: all var(--t);
  cursor: pointer;
}
.btn:focus-visible { outline: 3px solid var(--c-focus); }

.btn-primary {
  background: #3d5e6e;
  color: #fff;
}
.btn-primary:hover { background: var(--c-primary); }

.btn-outline-teal {
  border: 2px solid var(--c-secondary);
  color: var(--c-secondary);
}
.btn-outline-teal:hover { background: #3d5e6e; color: #fff; }

.btn-outline-white {
  border: 2px solid rgba(255,255,255,.5);
  color: #fff;
}
.btn-outline-white:hover { border-color: #fff; background: rgba(255,255,255,.1); }

.link-more {
  display: inline-flex; align-items: center; gap: .4rem;
  font-size: var(--fs-sm); font-weight: 700;
  color: var(--c-secondary);
  letter-spacing: .04em;
  transition: gap var(--t);
}
.link-more:hover { gap: .8rem; }

.util-bar {
  background: var(--c-primary);
  border-bottom: 1px solid rgba(255,255,255,.1);
  z-index: 110;
  position: relative;
}
.util-bar__inner {
  max-width: 100%;
  margin: 0 auto;
  padding: .5rem clamp(1rem, 5vw, 3rem);
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 0;
  box-sizing: border-box; 
}
.util-bar__left { 
display: flex;
  align-items: center;
  gap: .5rem;
  padding-right: 30px;
}
.util-bar__right {
  display: flex;
  align-items: center;
  gap: .5rem;
}
.util-bar__link {
  font-size: var(--fs-xs);
  font-weight: 700;
  letter-spacing: .08em;
  color: rgba(255,255,255,.7);
  text-transform: uppercase;
  transition: color var(--t);
}
.util-bar__link:hover { color: #fff; }
.util-bar__sep {
  color: rgba(255,255,255,.25);
  font-size: var(--fs-xs);
  user-select: none;
}
.util-bar__lang {
  display: flex;
  align-items: center;
  gap: .3rem;
}
.util-bar__lang-div {
  color: rgba(255,255,255,.3);
  font-size: var(--fs-xs);
  user-select: none;
}
.util-bar__lang-btn {
  font-size: var(--fs-xs);
  font-weight: 700;
  letter-spacing: .08em;
  color: rgba(255,255,255,.5);
  transition: color var(--t);
}
.util-bar__lang-btn.is-active { color: #fff; }
.util-bar__lang-btn:hover { color: #fff; }

.site-header {
  position: absolute;
  top: var(--util-bar-h, 0px); 
  left: 0; right: 0;
  z-index: 100;
}

body.has-util-bar .site-header { top: 40px; }  
.site-header__inner {
  max-width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem;
  margin-inline: auto;
  padding: 0 clamp(3rem, 4vw, 0rem);
}

/* Logo */
.site-logo {
  display: flex;
  align-items: center;
  flex-shrink: 0;
}
.site-logo__img {
  height: 120px;
  width: auto;
  display: block;
}

.site-header__right {
  display: flex;
  align-items: center;
  gap: 1rem;
}

.header-search {
  display: flex;
  align-items: center;
  background: white;
  border: 1px solid rgba(255,255,255,.32);
  border-radius: 999px;  
  padding: .45rem 1.1rem;  
  gap: .75rem;
  min-width: 370px;         
  transition: background var(--t), border-color var(--t);
}
.header-search:focus-within {
  background: rgba(255,255,255,.15);
  border-color: rgba(255,255,255,.5);
}
.header-search__icon {
  color: black;
  font-size: 1.0625rem;   
  flex-shrink: 0;
}
.header-search input {
  background: transparent;
  border: none;
  outline: none;
  color: #fff;
  font-family: var(--font);
  font-size: .75rem;     
  font-weight: 500;
  letter-spacing: .12em;
  text-transform: uppercase;
  width: 100%;
}
.header-search input::placeholder {
  color: #030303;
  font-size: var(--fs-xs);
  letter-spacing: .12em;
}

.menu-btn__icon { font-size: 1.25rem; }

.site-header--scrolled,
body:not(.has-hero) .site-header {
  position: absolute;
  background: var(--c-primary);
  box-shadow: 0 2px 12px rgba(0,0,0,.25);
}
.site-header.scrolled { background: var(--c-primary); }

        .cookie-banner {
            position: fixed;
            left: 0; right: 0; bottom: 0;
            background: #fff;
            padding: 1.5em;
            box-shadow: 0 -2px 15px rgba(0,0,0,0.15);
            border-top: 1px solid #ddd;
            display: none;
            z-index: 9999;
        }
        .cookie-banner.active { display: block; }

        .cookie-content {
            max-width: 1200px;
            margin: auto;
            color: #292929;
            font-size: 15px;
        }

        .cookie-buttons {
            margin-top: 1em;
            display: flex;
            gap: 10px;
        }

        .cookie-buttons button {
            padding: 0.6em 1em;
            border: none;
            border-radius: 4px;
            cursor: pointer;
        }

        .cb-accept-all {
            background: #922b21;
            color: #fff;
        }

        .cb-reject {
            background: #e6e6e6;
            color: #444;
        }

        .cb-settings {
            background: #e6e6e6;
            color: #444;
        }

        .cookie-settings {
            position: fixed;
            left: 0; top: 0; right: 0; bottom: 0;
            background: rgba(0,0,0,0.6);
            display: none;
            justify-content: center;
            align-items: center;
            z-index: 10000;
        }

        .cookie-settings.active {
            display: flex;
        }

        .settings-box {
            background: #fff;
            padding: 2em;
            width: 90%;
            max-width: 450px;
            box-shadow: 0 0 15px rgba(0,0,0,0.2);
        }

        .cookie-option {
            display: flex;
            align-items: center;
            margin-bottom: 10px;
        }

        .cookie-option input {
            margin-right: 10px;
        }

        .settings-buttons {
            margin-top: 1.5em;
            display: flex;
            justify-content: space-between;
        }

        .settings-buttons button {
            padding: 0.6em 1em;
            border: none;
            cursor: pointer;
        }

        .settings-buttons button:first-child {
            background: #ff5520;
            color: white;
        }

        .settings-buttons button:last-child {
            background: #e6e6e6;
        }

.mobile-nav__top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 2.5rem;
}
.site-logo--dark .site-logo__fallback--dark { color: var(--c-mint); }

.mobile-nav__close {
  width: 2.75rem; height: 2.75rem;
  display: flex; align-items: center; justify-content: center;
  border-radius: 50%;
  border: 1px solid rgba(255,255,255,.15);
  color: #fff;
  font-size: 1.25rem;
  transition: background var(--t);
}
.mobile-nav__close:hover { background: rgba(255,255,255,.1); }

.mobile-nav__list { flex: 1; }
.mobile-nav__item { border-bottom: 1px solid rgba(255,255,255,.1); }
.mobile-nav__link {
  display: block;
  padding: 1rem 0;
  color: #fff;
  font-size: var(--fs-lg);
  font-weight: 700;
  transition: color var(--t), padding-left var(--t);
}
.mobile-nav__link:hover,
.mobile-nav__item.is-active .mobile-nav__link { color: var(--c-mint); padding-left: .5rem; }

.mobile-nav__footer {
    margin-top: 2rem;
    visibility: hidden;
}
.mobile-nav__lang { display: flex; gap: .75rem; }

.mobile-nav__overlay {
  position: fixed;
  inset: 0;
  z-index: 150;
  opacity: 0;
  visibility: hidden;
  transition: opacity .3s, visibility .3s;
  pointer-events: none;
}
.mobile-nav__overlay.visible {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

.lang-btn {
  font-size: var(--fs-xs);
  font-weight: 700;
  letter-spacing: .1em;
  color: rgba(255,255,255,.5);
  padding: .25rem .375rem;
  border-radius: var(--r);
  transition: color var(--t);
}
.lang-btn--active { color: #fff; }
.lang-btn:hover { color: #fff; }

.menu-btn {
  display: flex;
  align-items: center;
  gap: .5rem;
  background: #ddefdd;
  border: 1px solid rgba(255,255,255,.32);
  border-radius: 999px;
  padding: .45rem 1.1rem;
  color: #030303;
  font-family: var(--font, 'Archivo', sans-serif);
  font-size: .75rem;
  font-weight: 400;
  letter-spacing: .12em;
  text-transform: uppercase;
  cursor: pointer;
  transition: background .2s ease, border-color .2s ease;
  white-space: nowrap;
}

.menu-btn:hover {
  background: rgba(255,255,255,.2);
  border-color: rgba(255,255,255,.5);
}

.menu-btn__icon {
  font-size: 1.25rem;
}

.mobile-nav {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: auto;
  z-index: 200;
  background: #233d42;
  display: flex;
  flex-direction: column;
  padding: 1.5rem 2.5rem 2rem;
  overflow-y: auto;
  width: clamp(260px, 80vw, 360px);
  transform: translateX(100%);
  visibility: hidden;
  transition: transform .3s cubic-bezier(.4,0,.2,1), visibility .3s;
}

.mobile-nav[hidden] {
  display: flex;
  visibility: hidden;
  pointer-events: none;
}

.mobile-nav.is-open {
  transform: translateX(0);
  visibility: visible;
  pointer-events: auto;
}

.mobile-nav__top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 2.5rem;
}

.mobile-nav__label {
  font-size: .75rem;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: rgba(255,255,255,.55);
}

.mobile-nav__close {
  width: 2.75rem;
  height: 2.75rem;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  border: 1px solid rgba(255,255,255,.15);
  color: #fff;
  font-size: 1.25rem;
  background: transparent;
  transition: background .2s ease;
}

.mobile-nav__close:hover {
  background: rgba(255,255,255,.1);
}


.mobile-nav__list {
  flex: 1;
  margin: 0;
  padding: 0;
  list-style: none;
}

.mobile-nav__item {
  border-bottom: 1px solid rgba(255,255,255,.1);
}

.mobile-nav__link {
  display: block;
  padding: 1rem 0;
  color: #fff;
  font-size: 1.25rem;
  font-weight: 700;
  text-decoration: none;
  transition: color .2s ease, padding-left .2s ease;
}

.mobile-nav__link:hover,
.mobile-nav__item.is-active .mobile-nav__link {
  color: #ddefdd;
  padding-left: .5rem;
}

.mobile-nav__sections {
  margin-top: .5rem;
}

.mobile-nav__sections-label {
  font-size: .6875rem;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: rgba(255,255,255,.35);
  margin: .875rem 0 .25rem;
  padding: 0;
}

.mobile-nav__section-link {
  display: block;
  padding: .75rem 0;
  color: rgba(255,255,255,.75);
  font-size: 1rem;
  font-weight: 700;
  text-decoration: none;
  border-bottom: 1px solid rgba(255,255,255,.07);
  transition: color .2s ease, padding-left .2s ease;
}

.mobile-nav__section-link:last-of-type {
  border-bottom: none;
}

.mobile-nav__section-link:hover {
  color: #ddefdd;
  padding-left: .375rem;
}

.mobile-nav__footer {
  margin-top: 2rem;
}

.mobile-nav__lang {
  display: flex;
  gap: .75rem;
  align-items: center;
}

.mobile-nav__lang-sep {
  color: rgba(255,255,255,.35);
}

.lang-btn {
  font-size: .6875rem;
  font-weight: 700;
  letter-spacing: .1em;
  color: rgba(255,255,255,.5);
  padding: .25rem .375rem;
  border-radius: 2px;
  transition: color .2s ease;
  text-decoration: none;
}

.lang-btn--active {
  color: #fff;
}

.lang-btn:hover {
  color: #fff;
}

.mobile-nav__overlay {
  position: fixed;
  inset: 0;
  z-index: 150;
  opacity: 0;
  visibility: hidden;
  transition: opacity .3s, visibility .3s;
  pointer-events: none;
  background: rgba(0,0,0,.28);
}

.mobile-nav__overlay.visible {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

@media (max-width: 480px) {
  .menu-btn__label {
    display: none;
  }

  .mobile-nav {
    width: min(88vw, 360px);
    padding: 1.25rem 1.25rem 1.5rem;
  }
}

.hero-group {
  position: relative;
  height: 100vh;
  min-height: 640px;
  overflow: hidden;
  isolation: isolate;
}

.hero-layer {
  position: absolute;
  inset: 0;
  overflow: hidden;
  z-index: 1;
}

.hero-layer > div,
.hero-layer > [class*="cms"] {
  position: absolute !important;
  inset: 0 !important;
  overflow: hidden !important;
}

.hero {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  background: var(--c-primary);
  overflow: hidden;
}

.hero__bg {
  position: absolute;
  inset: 0;
  z-index: 0;
}
.hero__bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 35%;  
  display: block;
}

.hero__bg--video {
  position: absolute;
  inset: 0;
  z-index: 0;
  overflow: hidden;
}
.hero__video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 35%;
  display: block;
  pointer-events: none;
}

.hero__overlay {
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(
    155deg,
    rgba(20,40,48,.62) 0%,
    rgba(30,52,60,.28) 55%,
    rgba(20,40,48,.58) 100%
  );
}

.hero__body {
  position: relative;
  z-index: 2;
  flex: 1;
  display: flex;
  align-items: center;     
  padding-top: 0;         
  padding-bottom: 12rem;
}

.hero__content {
  width: 100%;
  max-width: 100%;
  text-align: left;
  padding-top: 100px;
  padding-left: clamp(3rem, 5vw, 0rem);
}

.hero__title {
  color: #fff;
  font-size: var(--fs-hero);     
  font-weight: 900;              
  line-height: 1.02;
  letter-spacing: -.025em;
  max-width: 1100px;
  margin-bottom: 2.375rem;
}

.hero__subtitle {
  color: rgba(255,255,255,.85);
  font-size: clamp(1rem, 2.2vw, 2rem);   
  font-weight: 500;
  max-width: 1440px;
  line-height: 1.65;
}

.hero-strip-slot {
  position: absolute;
  bottom: 3rem;
  left: 0;
  right: 0;
  z-index: 20;
  width: 100%;
  padding: 0 clamp(3rem, 4vw, 0rem);
  box-sizing: border-box;
  pointer-events: none;
  margin: 0 auto;
  max-width: 100%;
  
}
.hero-strip-slot > * {
  pointer-events: auto;
}

.news-strip {
  position: relative;
  z-index: 2;
  background: rgba(35, 61, 68, 0.7);
  backdrop-filter: blur(18px) saturate(1.4);
  -webkit-backdrop-filter: blur(18px) saturate(1.4);
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 8px; 
  overflow: hidden;   
}


.news-strip--empty { opacity: 0.7; }

.news-strip__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  min-height: 150px;
  max-width: 2400px;
  margin-inline: auto;
}

.news-strip__item-wrap {
  padding: 1.25rem 1.25rem;
  position: relative;
}

.news-strip__item-wrap--sep::after {
  content: '';
  position: absolute;
  top: 1rem;
  right: 0;
  bottom: 1rem;
  width: 1px;
  background: rgba(255,255,255);
}

.news-item { display: flex; flex-direction: column; height: 100%; }

.news-item__cat {
  font-size: var(--fs-xs);
  font-weight: 500;
  text-transform: uppercase;
  color: rgba(255,255,255,.7);
  margin-bottom: 1rem;
  line-height: 1;
}

.news-item__body {
  display: flex;
  align-items: flex-start;   
  gap: 1.5rem;
  flex: 1;
}

.news-item__arrow {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 3rem;
  height: 3rem;
  background: #ddefdd;
  color: #406971;
  font-size: 1rem;
  border-radius: 0; 
  transition: background var(--t);
  margin-top: .1rem;
  text-decoration: none;
}
.news-item__arrow:hover { background: #4a7080; }

.news-item__text { flex: 1; }

.news-item__title {
font-size: clamp(1rem, 1.5vw, 0.8rem);
  font-weight: 700;
  line-height: 1.45;
  color: #fff;
  margin-bottom: .375rem;
}

.news-item__title-link { color: #fff; text-decoration: none; }
.news-item__title-link:hover { color: var(--c-mint); }

.news-item__date {
  font-size: var(--fs-xs);
  color: rgba(255,255,255,.38);
}

.about-section {
  padding: 6.5rem 0 6.5rem;
  background: var(--c-off);  
}
.about-layout {

  max-width: 1200px;       
  width: 100%;             
  margin-inline: auto;
  padding-inline: clamp(1.25rem, 5vw, 2rem); 
}

.about-image {
  display: none;  
}
.about-layout--with-image {
  display: flex;
  align-items: flex-start;
  gap: 4rem;
  max-width: var(--max-w);
}
.about-layout--with-image .about-body { flex: 1; }
.about-layout--with-image .about-image {
  display: block;
  flex-shrink: 0;
  width: 46%;
  max-width: 520px;
  border-radius: var(--r-md);
  overflow: hidden;
}
.about-layout--with-image .about-image img {
  width: 100%; height: 100%; object-fit: cover; display: block;
}
.about-label {
  color: var(--c-muted);
  font-size: var(--fs-xs);
  letter-spacing: .18em;
  font-weight: 400;            
  text-transform: uppercase;
  margin-bottom: 1.25rem;
}
.about-body {
  font-size: 1.3rem;  
  font-weight: 400;
  color: var(--c-black);
  line-height: 1.75;
}
.about-body p { margin-bottom: 1.25rem; }
.about-body p:last-child { margin-bottom: 0; }

.leadership-section.leadership-section--board {
  background: #efefef;
  padding: 3.25rem 0 2.1rem;
  height: auto !important;
  min-height: 0 !important;
  overflow: visible;
}

.leadership-section--board .leadership-board {
  width: 100%;
  --leadership-line-color: #59706d;
  --leadership-line-width: 2px;
}

.leadership-section--board .leadership-board__top {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 600px;
  column-gap: 3.5rem;
  align-items: start;
}

.leadership-section--board .leadership-board__content {
  min-width: 0;
}

.leadership-section--board .leadership-board__title {
  font-size: clamp(2.2rem, 4vw, 2.8rem);
  font-weight: 900;
  line-height: 1.04;
  letter-spacing: -0.02em;
  color: #111;
  margin: 0 0 1.6rem;
}

.leadership-section--board .leadership-board__main {
  max-width: 980px;  
  width: 100%;
}

.leadership-section--board .leadership-board__name {
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 1.2;
  color: #111;
  margin: 1rem 0 0.55rem;
}

.leadership-section--board .leadership-board__role {
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.45;
  color: #111;
  margin: 0 0 0.9rem;
}

.leadership-section--board .leadership-board__bio {
  font-size: 1.02rem;
  font-weight: 400;
  line-height: 1.78;
  color: #222;
  max-width: 95%;
}

.leadership-section--board .leadership-board__photo {
  margin: 0;
  width: 500px;
  height: 500px;
  aspect-ratio: 1 / 1;
  justify-self: end;
  overflow: hidden;
}

.leadership-section--board .leadership-board__photo-img {
  display: block;
  object-fit: contain;
  object-position: center top;
}

.leadership-section--board .leadership-board__divider {
  width: 100%;
  height: var(--leadership-line-width);
  background: var(--leadership-line-color);
  margin: 1.7rem 0 1.45rem;
}

.leadership-section--board .leadership-board__divider--bottom {
  margin: 1.45rem 0 0.95rem;
}

.leadership-section--board .leadership-board__members {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0;
  align-items: start;
}

.leadership-section--board .leadership-mini {
  position: relative;
  display: grid;
  grid-template-columns: 112px minmax(0, 1fr);
  gap: 1rem;
  align-items: start;
  padding: 0 1.5rem;
  min-height: 120px;
}

.leadership-section--board .leadership-mini__body {
  min-width: 0;
  padding-top: 0.1rem;
  padding-right: 1rem; 
}

.leadership-section--board .leadership-mini__name,
.leadership-section--board .leadership-mini__role {
  overflow-wrap: anywhere;
  word-break: normal;
}

.leadership-section--board .leadership-mini:first-child {
  padding-left: 0;
}

.leadership-section--board .leadership-mini:last-child {
  padding-right: 0;
}

.leadership-section--board .leadership-mini:not(:last-child)::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: var(--leadership-line-width);
  height: 100%;
  background: var(--leadership-line-color);
}

.leadership-section--board .leadership-mini__photo {
  width: 112px;
  height: 112px;
  aspect-ratio: 1 / 1;
  overflow: hidden;
  background: #ddd;
}

.leadership-section--board .leadership-mini__photo img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
}

.leadership-section--board .leadership-mini__body {
  min-width: 0;
  padding-top: 0.1rem;
}

.leadership-section--board .leadership-mini__name {
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.32;
  color: #111;
  margin: 0 0 0.35rem;
}

.leadership-section--board .leadership-mini__role {
  font-size: 0.98rem;
  font-weight: 400;
  line-height: 1.55;
  color: #222;
}

.leadership-section--board .leadership-board__footer {
  padding-top: 0.2rem;
}

.leadership-section--board .leadership-board__link {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  font-size: 1rem;
  font-weight: 700;
  color: #111;
  text-decoration: none;
  transition: gap 0.2s ease, color 0.2s ease;
}

.leadership-section--board .leadership-board__link:hover {
  gap: 0.8rem;
  color: var(--c-primary);
}

.leadership-section--board .leadership-board__link i {
  font-size: 1rem;
}

@media (min-width: 1600px) {
  .leadership-section.leadership-section--board {
    padding: 3.8rem 0 2.4rem;
  }

  .leadership-section--board .leadership-board__top {
    grid-template-columns: minmax(0, 1fr) 400px;
    column-gap: 4rem;
  }

  .leadership-section--board .leadership-board__photo {
    width: 600px;
    height: 600px;
  }

  .leadership-section--board .leadership-board__main,
  .leadership-section--board .leadership-board__bio {
    max-width: 90%
  }

  .leadership-section--board .leadership-mini {
    grid-template-columns: 250px 1fr;
    min-height: 250px;
  }

  .leadership-section--board .leadership-mini__photo {
    width: 250px;
    height: 250px;
  }
}

@media (max-width: 1360px) {
  .leadership-section--board .leadership-board__top {
    grid-template-columns: minmax(0, 1fr) 360px;
    column-gap: 2.5rem;
  }

  .leadership-section--board .leadership-board__photo {
    width: 360px;
    height: 360px;
  }

  .leadership-section--board .leadership-board__members {
    grid-template-columns: 1fr;
    row-gap: 1rem;
  }

  .leadership-section--board .leadership-mini {
    grid-template-columns: 112px minmax(0, 1fr);
    padding: 0 0 1rem;
    min-height: 0;
    border-bottom: var(--leadership-line-width) solid rgba(89, 112, 109, 0.45);
  }

  .leadership-section--board .leadership-mini:last-child {
    border-bottom: none;
    padding-bottom: 0;
  }

  .leadership-section--board .leadership-mini::after {
    display: none;
  }
}

@media (max-width: 1024px) {
  .leadership-section.leadership-section--board {
    padding: 2.4rem 0 1.5rem;
  }

  .leadership-section--board .leadership-board__top {
    grid-template-columns: minmax(0, 1fr) 260px;
    column-gap: 2rem;
  }

  .leadership-section--board .leadership-board__photo {
    width: 260px;
    height: 260px;
  }

  .leadership-section--board .leadership-board__members {
    grid-template-columns: 1fr;
    row-gap: 1rem;
  }

  .leadership-section--board .leadership-mini {
    grid-template-columns: 112px 1fr;
    padding: 0 0 1rem;
    border-bottom: var(--leadership-line-width) solid rgba(89, 112, 109, 0.5);
    min-height: 0;
  }

  .leadership-section--board .leadership-mini:last-child {
    border-bottom: none;
    padding-bottom: 0;
  }

  .leadership-section--board .leadership-mini::after {
    display: none;
  }

  .leadership-section--board .leadership-mini__photo {
    width: 100px;
    height: 100px;
  }
}

@media (max-width: 768px) {
  .leadership-section.leadership-section--board {
    padding: 2rem 0 1.2rem;
  }

  .leadership-section--board .leadership-board__top {
    grid-template-columns: 1fr;
    row-gap: 1rem;
  }

  .leadership-section--board .leadership-board__photo {
    width: 220px;
    height: 220px;
    justify-self: start;
  }

  .leadership-section--board .leadership-board__divider {
    margin: 1.25rem 0 1rem;
  }

  .leadership-section--board .leadership-mini {
    grid-template-columns: 94px 1fr;
    gap: 0.85rem;
  }

  .leadership-section--board .leadership-mini__photo {
    width: 84px;
    height: 84px;
  }
}

.training-section {
  background: var(--c-white);
  overflow: hidden;
  position: relative;
  padding: 0;
}
.training-inner {
  display: grid;
  grid-template-columns: minmax(340px, 1.05fr) minmax(360px, 1.35fr);
  align-items: center;
  gap: clamp(2rem, 4vw, 4.5rem);
  min-height: 0;
  max-height: none;
  padding-top: clamp(2rem, 5vw, 2rem);
  padding-bottom: clamp(2rem, 5vw, 2rem);
  margin-bottom: 0;
}

.training-photo {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  overflow: visible;
  padding-left: clamp(2rem, 6vw, 5rem);
  padding-right: clamp(0.5rem, 1.5vw, 1.25rem);
  min-width: 0;
}
.training-photo img {
  position: static;
  inset: auto;
  display: block;
  width: 100%;
  height: auto;
  object-fit: contain;
  object-position: center;
}
.training-photo--empty { background: var(--c-off); }

.training-text {
  display: flex;
  align-items: center;
  padding-top: 4rem;
  padding-bottom: 4rem;
  padding-left: clamp(2rem, 4vw, 4.5rem);
  padding-right: clamp(1rem, 5vw, 6.25rem);
}
.training-text__inner {
  max-width: 90%; 
}

.training-label {
  font-size: var(--fs-xs);
  font-weight: 400;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--c-muted);
  margin-bottom: 1rem;
}

.training-title {
  font-size: clamp(1.75rem, 3.5vw, 2.5rem);
  font-weight: 900;
  color: var(--c-primary);
  line-height: 1.1;
  letter-spacing: -.02em;
  margin-bottom: 2rem;
}

.training-subtitle {
  font-size: var(--fs-base);
  font-weight: 800;
  color: var(--c-black);
  line-height: 1.5;
  margin-bottom: .875rem;
}

/* Treść */
.training-body {
  font-size: var(--fs-base);
  color: var(--c-black);
  line-height: 1.7;
  margin-bottom: 1.5rem;
}
.training-sep {
  width: 100%;
  height: 3px;
  background: var(--c-gray);
  margin-bottom: 1.25rem;
}

@media (max-width: 1024px) {
  .training-inner { grid-template-columns: 45fr 55fr; min-height: 460px; }
  .training-text { padding-left: clamp(1.5rem, 3vw, 3rem); }
  .training-title { font-size: clamp(1.5rem, 3vw, 2rem); }
}

@media (max-width: 480px) {
  .training-title { font-size: clamp(1.25rem, 7vw, 1.625rem); }
}

.oferta-section {
  background: var(--c-primary);   
  color: var(--c-white);
  padding: 4rem 0 5rem;
}

.oferta-header { margin-bottom: 2.5rem; }
.oferta-section-label {
  color: var(--c-mint) !important;
  font-size: var(--fs-xs);
  letter-spacing: 0em;
  font-weight: 600;
  opacity: .85;
  margin-bottom: 1.875rem;
}
.oferta-main-title {
  font-size: clamp(4rem, 7vw, 3rem);   
  font-weight: 800;
  color: var(--c-mint) !important;                  
  line-height: .95;
  letter-spacing: -.03em;
}

.oferta-content-grid {
  display: grid;
  grid-template-columns: 55fr 30fr 32fr;
  gap: 1.25rem;
  align-items: stretch;   
}

.oferta-content-grid[data-layout="45/25/30"] {
  grid-template-columns: 45fr 25fr 30fr;
}

.oferta-content-grid[data-layout="35/30/35"] {
  grid-template-columns: 35fr 30fr 35fr;
}

.oferta-content-grid[data-layout="50/22/28"] {
  grid-template-columns: 50fr 22fr 28fr;
}

.oferta-col--main-img {
  display: flex;
  flex-direction: column;
}

.oferta-col--small-imgs {
  flex-direction: column;
  gap: 1.25rem;
}

.oferta-img {
  display: block;
  width: 100%;
  object-fit: cover;
  border-radius: 2px;
}
.oferta-img--main {
  width: 100%;
  height: 100%;
  min-height: 480px;
  object-fit: cover;
  object-position: center;
  display: block;
  border-radius: 2px;
}
.oferta-img--small {
  flex: 1;
  width: 100%;
  object-fit: cover;
  object-position: center;
  min-height: 0;    
  display: block;
  border-radius: 2px;
}

.oferta-img--small:first-child {
  object-position: center top;
  align-self: flex-start;
}

.oferta-img--small:last-child {
  object-position: center bottom;
  align-self: flex-end;
  padding-top: 2rem;
}
.oferta-img--placeholder {
  background: rgba(255,255,255,.08);
  border-radius: 2px;
}

.oferta-col--text {
  padding-left: 1.25rem;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  padding-top: .25rem;
}
.oferta-body {
  font-size: 0.875rem;   
  color: rgba(255,255,255,.88);
  line-height: 1.85;
  margin-bottom: 1.375rem;
}
.oferta-contact {
  font-size: var(--fs-sm);
  color: rgba(255,255,255,.85);
  margin-bottom: 2rem;
}
.oferta-contact strong { color: #fff; }
.oferta-contact a {
  color: var(--c-mint);
  text-decoration: underline;
  text-underline-offset: 3px;
}
.oferta-contact a:hover { color: #fff; }

.oferta-links { margin-bottom: auto; }
.oferta-link-row {
  border-top: 1px solid rgba(255,255,255,.18);
  padding: .875rem 0;
}
.oferta-link-row:last-child { border-bottom: 1px solid rgba(255,255,255,.18); }
.oferta-link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  color: #fff;
  font-size: var(--fs-sm);
  font-weight: 700;
  text-decoration: none;
  gap: 1rem;
  transition: color var(--t);
}
.oferta-link:hover { color: var(--c-mint); }
.oferta-link i { font-size: 1rem; flex-shrink: 0; }
.oferta-link--no-href { display: flex; align-items: center; justify-content: space-between; color: #fff; font-size: var(--fs-sm); font-weight: 700; gap: 1rem; }

.feature-section {
  display: grid;
  grid-template-columns: 1fr 1fr;
  position: relative;
  min-height: 100vh;
  background: #233d42;
  overflow: hidden;
}

.feature-container {
  margin-right: 0px !important;
  max-width: 800px;
}

.feature-bg {
  position: absolute;
  inset: 0;
  z-index: 0;
  background: #233d42;
}
.feature-bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
}

.feature-bg--video {
  position: absolute;
  inset: 0;
  z-index: 0;
  overflow: hidden;
}
.feature-video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
  display: block;
  pointer-events: none;
}
.feature-bg--placeholder { background: linear-gradient(135deg,#1c3540 0%,#2a5060 100%); }

.feature-card {
  grid-column: 1;
  grid-row: 1;
  position: relative;
  z-index: 1;
  background: var(--c-mint);
  padding: 4rem 3.5rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
  margin-top: 4rem;
  margin-bottom: 4rem;
  margin-right: 0;
  margin-left: clamp(7rem, 5vw, 6rem);
  box-sizing: border-box;
}

.feature-card__label {
  font-size: var(--fs-xs);
  font-weight: 400;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--c-secondary);
  margin-bottom: 4rem;
}

.feature-card__title {
  font-size: clamp(1.6rem, 3vw, 2.625rem);  
  font-weight: 800;
  color: var(--c-primary);
  line-height: 1.15;
  margin-bottom: 1.5rem;
}

.feature-card__body {
  font-size: var(--fs-base);
  color: var(--c-black);
  line-height: 1.75;
  margin-bottom: 1.75rem;
}

.feature-card__sep {
  width: 100%;
  height: 5px;             
  background: rgba(35,61,66,.8);
  margin-bottom: 1rem;
}

.feature-card__link {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  font-size: var(--fs-base);
  font-weight: 700;
  color: var(--c-primary);
  transition: gap var(--t), color var(--t);
  text-decoration: none;
}
.feature-card__link:hover { gap: .875rem; color: var(--c-secondary); }
.feature-card__link i { font-size: 1rem; }

.news-section {
  padding: 4rem 0 5rem;
  background: var(--c-off)
}

.news-section__title {
  font-size: clamp(2.5rem, 5vw, 3.75rem);
  font-weight: 900;
  color: var(--c-black);
  margin-bottom: 2rem;
}

.news-section__footer {
  display: flex;
  justify-content: flex-end;
  margin-top: 2.5rem;
}

.news-all-link {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  font-size: var(--fs-sm);
  font-weight: 700;
  color: var(--c-primary);
  transition: gap var(--t), color var(--t);
}
.news-all-link:hover { gap: .875rem; color: var(--c-secondary); }
.news-all-link i { font-size: 1rem; }

.news-layout {
  display: grid;
  grid-template-columns: 4fr 1px 1fr;
  gap: 0 3rem;
  align-items: start;
}

.news-col-sep {
  background: var(--c-gray);
  align-self: stretch;
  min-height: 100%;
  width: 3px;
}

.news-card {
  padding: 1.75rem 0;
  border-bottom: 3px solid var(--c-gray);
}
.news-card:last-child { border-bottom: none; }

.news-card__inner {
  display: grid;
  grid-template-columns: 30% 70%;
  gap: 0 1.25rem;
  align-items: stretch;
  text-decoration: none;
  color: inherit;
  height: 100%;
}

.news-card__thumb {
  width: 100%;
  height: 100%;
  min-height: 200px;
}
.news-card__thumb img {
  object-fit: contain;
  display: block;
  transition: transform var(--t-slow);
  width: 100%;
  height: 100%;
  object-position: top;
}

.news-card__body { flex: 1; min-width: 0; }

.news-card__date {
  display: none;
  font-size: var(--fs-xs);
  color: var(--c-muted);
  margin-bottom: .375rem;
}

.news-card__title {
  font-size: 1.0625rem;
  font-weight: 700;
  line-height: 1.4;
  color: var(--c-black);
  margin-bottom: .5rem;
  transition: color var(--t);
}

.news-card__intro {
  font-size: var(--fs-sm);
  color: var(--c-muted);
  line-height: 1.65;
  margin-top: .375rem;
}

.news-col--compact {
  display: flex;
  flex-direction: column;
}

.news-compact {
  padding: 1.25rem 0;
}
.news-compact--sep {
  border-bottom: 3px solid var(--c-gray);
}

.news-compact__link {
  text-decoration: none;
  color: var(--c-black);
  display: block;
}
.news-compact__link:hover .news-compact__title { color: var(--c-secondary); }

.news-compact__title {
  font-size: var(--fs-sm);
  font-weight: 700;
  line-height: 1.4;
  margin-bottom: .3rem;
  transition: color var(--t);
}

.news-compact__date {
  display: block;
  font-size: var(--fs-xs);
  color: var(--c-muted);
}

.news-all-wrap {
  margin-top: 1.5rem;
  padding-top: 1rem;
}

.news-all-link {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  font-size: var(--fs-sm);
  font-weight: 700;
  color: var(--c-black);
  text-decoration: none;
  transition: gap var(--t), color var(--t);
}
.news-all-link:hover { gap: .875rem; color: var(--c-secondary); }
.news-all-link i { font-size: .9rem; }

.about-link {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  font-size: var(--fs-base);
  font-weight: 700;
  color: var(--c-black);
  text-decoration: none;
  border-bottom: 2px solid var(--c-black);
  padding-bottom: .1rem;
  transition: gap var(--t), color var(--t), border-color var(--t);
  margin-top: 1.5rem;
  display: inline-flex;
}
.about-link:hover { color: var(--c-secondary); border-color: var(--c-secondary); gap: .875rem; }
.about-link i { font-size: .9rem; }

.tag-pill {
  display: inline-block;
  padding: .2rem .625rem;
  background: var(--c-mint);
  color: var(--c-primary);
  font-size: .625rem;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
  border-radius: 99px;
  transition: background var(--t), color var(--t);
}
.tag-pill:hover { background: #3d5e6e; color: #fff; }

.tag-filters, .tag-filter-bar {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
  align-items: center;
}
.tag-btn {
  padding: .375rem .875rem;
  border: 1.5px solid var(--c-gray);
  border-radius: 99px;
  background: transparent;
  color: var(--c-muted);
  font-size: var(--fs-xs);
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
  cursor: pointer;
  transition: all var(--t);
  text-decoration: none;
}
.tag-btn:hover { border-color: var(--c-secondary); color: var(--c-secondary); }
.tag-btn--active {
  background: var(--c-primary);
  border-color: var(--c-primary);
  color: #fff;
}

.news-card[hidden] { display: none; }

.jobs-section {
  display: grid;
  grid-template-columns: 1fr 1fr;
  min-height: 660px;
  background: #3d5e6e;  
  overflow: hidden;
  padding-top: 2rem;
  padding-bottom: 2rem;
}

.jobs-text {
  display: flex;
  align-items: center;
  padding-top: 0;
  padding-bottom: 0;
  padding-right: clamp(2rem, 4vw, 4rem);
  padding-left: clamp(1rem, 5vw, 6.25rem);
}
.jobs-text__inner {
  padding: 4rem 0;
  max-width: 90%; 
  width: 100%;
}

.jobs-label {
  display: block;
  font-size: var(--fs-xs);
  font-weight: 400;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: rgba(255,255,255,.55) !important;
  margin-bottom: 2rem;
}

.jobs-title {
  font-size: clamp(2rem, 4vw, 3.25rem);
  font-weight: 900;
  color: var(--c-mint) !important;          
  line-height: 1.08;
  letter-spacing: -.02em;
  margin-bottom: 2rem;
}

.jobs-body {
  font-size: var(--fs-sm);
  color: var(--c-mint) !important;
  line-height: 1.8;
  margin-bottom: 2rem;
}

.jobs-sep {
  width: 100%;
  height: 3px;
  background: var(--c-mint) !important;
  margin-bottom: 1.5rem;
}

.jobs-link {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  font-size: var(--fs-base);
  font-weight: 700;
  color: var(--c-mint) !important;
  text-decoration: none;
  transition: gap var(--t), color var(--t);
}
.jobs-link:hover { gap: .875rem; color: var(--c-mint); }
.jobs-link i { font-size: 1rem; }

.jobs-photo {
  overflow: hidden;
  position: relative;
  margin-right: clamp(1rem, 5vw, 6.25rem);
  aspect-ratio: 3 / 4;
  display: flex;
  align-items: center;
  justify-content: center;
}
.jobs-photo img {
  inset: 0;
  width: 100%;
  height: auto;
  object-fit: contain;
  object-position: center 15%;
  display: block;
}

.richtext-block { padding: 4rem 0; }
.richtext-block--white  { background: var(--c-white); }
.richtext-block--off    { background: var(--c-off); }
.richtext-block--sage   { background: var(--c-mint); }
.richtext-block--green  { color: #fff; }
.richtext-block--navy   { background: var(--c-primary); color: #fff; }
.richtext-content { max-width: 100%; }
.richtext-content h2 { margin-bottom: 1.25rem; }
.richtext-content p { margin-bottom: 1rem; }
.richtext-content a { color: var(--c-secondary); text-decoration: underline; }

.callout {
  padding: 1.25rem 1.5rem;
  border-left: 4px solid var(--c-secondary);
  border-radius: 0 var(--r-md) var(--r-md) 0;
  background: var(--c-mint);
  margin-block: 1.5rem;
}
.callout--warning { border-color: #b45309; background: #fef9c3; }
.callout--success { border-color: #1e7e52; background: #dcfce7; }
.callout--tip     { border-color: #7c3aed; background: #ede9fe; }
.callout__title { font-weight: 700; display: flex; align-items: center; gap: .5rem; margin-bottom: .5rem; }
.callout__body  { font-size: var(--fs-sm); }

.two-col {
  display: grid;
  gap: var(--col-gap, 2rem);
}
.two-col--6-6 { grid-template-columns: 1fr 1fr; }
.two-col--7-5 { grid-template-columns: 7fr 5fr; }
.two-col--5-7 { grid-template-columns: 5fr 7fr; }
.two-col--8-4 { grid-template-columns: 8fr 4fr; }

.page-wrapper { padding: 0rem; }
.page-layout { display: grid; grid-template-columns: 1fr 280px; gap: 4rem; }
.page-content h1 { margin-bottom: 2rem; }
.page-sidebar { position: sticky; top: 6rem; }

.page-hero-bar {
  padding: 3rem 0 2rem;
  border-bottom: 1px solid var(--c-gray);
  margin-bottom: 2rem;
}
.page-hero-bar h1 { font-size: 3rem; }

.tag-filter-bar { padding: 1.25rem 0 2rem; }

.news-list-page .news-grid { grid-template-columns: repeat(3, 1fr); }

.search-header { padding: 3rem 0 2rem; border-bottom: 1px solid var(--c-gray); margin-bottom: 2rem; }
.search-header h1 { font-size: 2.5rem; }
.search-query { margin-top: .75rem; color: var(--c-muted); }
.search-form { margin-bottom: 2rem; }
.search-form__inner { display: flex; gap: .75rem; align-items: center; }
.search-form__inner input {
  flex: 1; padding: .75rem 1rem;
  border: 1.5px solid var(--c-gray);
  border-radius: var(--r);
  font-family: var(--font);
  font-size: var(--fs-base);
  color: var(--c-black);
}
.search-form__inner input:focus { border-color: var(--c-secondary); outline: none; }

.search-results { display: flex; flex-direction: column; gap: 1.5rem; }
.search-result article { padding: 1.5rem; border: 1px solid var(--c-gray); border-radius: var(--r-md); }
.search-result__title { font-size: var(--fs-lg); margin-bottom: .5rem; }
.search-result__title a { color: var(--c-primary); }
.search-result__title a:hover { color: var(--c-secondary); }
.search-result__excerpt { color: var(--c-muted); margin-bottom: .5rem; }
.search-result__url { font-size: var(--fs-xs); color: var(--c-secondary); }
.search-empty {
  text-align: center; padding: 4rem 1rem;
  color: var(--c-muted); font-size: var(--fs-lg);
  display: flex; flex-direction: column; align-items: center; gap: 1rem;
}
.search-empty i { font-size: 3rem; opacity: .35; }

.pagination {
  display: flex; align-items: center; justify-content: center;
  gap: 1rem; margin-top: 3rem;
}
.pagination__btn {
  display: inline-flex; align-items: center; gap: .375rem;
  padding: .625rem 1.25rem;
  border: 1.5px solid var(--c-gray);
  border-radius: var(--r);
  color: var(--c-text);
  font-size: var(--fs-sm); font-weight: 700;
  transition: all var(--t);
  text-decoration: none;
}
.pagination__btn:hover { background: #3d5e6e; border-color: var(--c-secondary); color: #fff; }
.pagination__info { font-size: var(--fs-sm); color: var(--c-muted); }

.site-footer {
  background: var(--c-primary);
  color: rgba(255,255,255,.55);
  padding-top: 0;
}

.footer-top {
  align-items: center;
  gap: 1.5rem;
  padding: 2rem clamp(1rem,5vw,6.25rem) 0;
}
.footer-logo-link { flex-shrink: 0; display: flex; align-items: center; }
.footer-logo-img {
  height: 100px; width: auto;
  filter: brightness(0) invert(1);
  opacity: .88;
}
.footer-top-line {
  flex: 1; height: 1px;
  background: rgba(255,255,255,.2);
  align-self: center;
}

.footer-body {
  display: grid;
  grid-template-columns: 2fr 1px 3fr;
  gap: 0 2.5rem;
  padding: 2.5rem clamp(1rem,5vw,6.25rem) 3.5rem;
  align-items: start;
}
.footer-col-divider {
  background: rgba(255,255,255,.15);
  align-self: stretch;
  width: 1px;
}

.footer-right-container {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0 2.5rem;
  align-items: start;
}

.footer-col-main {
  display: flex;
  flex-direction: column;
  gap: .125rem;
  padding-left: 9rem;
}
.footer-org-name {
  color: #fff;
  font-size: 1rem;
  font-weight: 900;
  margin: 0 0 .125rem;
  line-height: 1.3;
}
.footer-org-sub {
  color: rgba(255,255,255,.55);
  font-size: var(--fs-xs);
  font-weight: 400;
  margin: 0 0 .875rem;
}
.footer-org-addr {
  color: rgba(255,255,255,.45);
  font-size: var(--fs-xs);
  line-height: 1.7;
  margin: 0 0 1.25rem;
}
.footer-social-label {
  color: rgba(255,255,255,.35);
  font-size: var(--fs-xs);
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  margin: 0 0 .75rem;
}
.footer-social {
  display: flex; gap: .5rem; flex-wrap: wrap;
  margin: 0;
}
.footer-social__btn {
  width: 2.25rem; height: 2.25rem;
  border-radius: 4px;
  background: rgba(255,255,255,.1);
  color: rgba(255,255,255,.65);
  display: inline-flex; align-items: center; justify-content: center;
  text-decoration: none !important;
  font-size: 1rem;
  transition: background var(--t), color var(--t), transform var(--t);
  border: none;
}
.footer-social__btn:hover {
  color: #fff;
  transform: translateY(-2px);
}
.footer-social__btn--linkedin:hover { background: #0a66c2; }
.footer-social__btn--x:hover         { background: #000; }
.footer-social__btn--fb:hover         { background: #1877f2; }

.footer-col-links {
  font-size: var(--fs-xs);
  line-height: 1.8;
}
.footer-col-left,
.footer-col-right { font-size: var(--fs-xs); line-height: 1.8; }

.footer-col-links h2, .footer-col-links h3,
.footer-col-left h2, .footer-col-left h3,
.footer-col-right h2, .footer-col-right h3 {
  color: rgba(255,255,255,.35);
  font-size: var(--fs-xs);
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  margin: 1.25rem 0 .625rem;
}
.footer-col-links h2:first-child,
.footer-col-left h2:first-child,
.footer-col-right h2:first-child { margin-top: 0; }

.footer-col-links p,
.footer-col-left p,
.footer-col-right p {
  color: rgba(255,255,255,.42);
  font-size: var(--fs-xs);
  margin-bottom: .375rem;
}
.footer-col-links ul,
.footer-col-left ul,
.footer-col-right ul { list-style: none; padding: 0; margin: 0; }

.footer-col-links li,
.footer-col-left li,
.footer-col-right li { margin-bottom: .5rem; }

.footer-col-links a,
.footer-col-left a,
.footer-col-right a {
  color: rgba(255,255,255,.45);
  text-decoration: none;
  font-size: var(--fs-xs);
  transition: color var(--t);
}
.footer-col-links a:hover,
.footer-col-left a:hover,
.footer-col-right a:hover { color: #fff; text-decoration: underline; }

.footer-bip { margin-top: 1.5rem; }
.footer-bip__img, .btn-bip-logo {
  height: 44px; width: auto;
  background: #fff;
  padding: 4px 8px;
  border-radius: 4px;
  display: inline-block;
}
.footer-spacer { margin-top: 1.5rem; }
.bip-icons { margin-top: 1rem; }

@media (max-width: 1024px) {
  .footer-body { gap: 0 2rem; padding-inline: clamp(1rem,4vw,3rem); }
  .footer-right-container { gap: 0 2rem; }
}
@media (max-width: 900px) {
  .footer-body {
    grid-template-columns: 1fr;
  }
  .footer-col-divider { display: none; }
  .footer-col-main { 
    grid-column: 1 / -1; 
    padding-bottom: 1.75rem; 
    margin-bottom: 1rem; 
    border-bottom: 1px solid rgba(255,255,255,.12); 
  }
  .footer-right-container {
    grid-column: 1 / -1;
    grid-template-columns: 1fr 1fr;
  }
}
@media (max-width: 600px) {
  .footer-body { grid-template-columns: 1fr; }
  .footer-right-container { grid-template-columns: 1fr; gap: 1.5rem 0; }
  .footer-col-divider { display: none; }
  .footer-top { padding-inline: 1.25rem; }
  .footer-body { padding-inline: 1.25rem; }
  .footer-col-main { margin-bottom: .75rem; padding-bottom: 1.5rem; }
}

.about-image {
  flex-shrink: 0;
  width: 48%;
  max-width: 520px;
  border-radius: var(--r-md);
  overflow: hidden;
  align-self: stretch;
}
.about-image img {
  width: 100%; height: 100%;
  object-fit: cover; display: block;
}

.hero__logo-override {
  position: absolute;
  top: calc(var(--util-bar-h, 2rem) + 1rem);
  left: 2.5rem;
  z-index: 50;
  pointer-events: none;
}
body.has-util-bar .hero__logo-override {
  top: calc(5rem + 1rem);
}
.hero__logo-override img {
  height: 56px;
  width: auto;
  filter: brightness(0) invert(1); 
}

.news-list-page { padding-top: 2rem; padding-bottom: 4rem; }

.tag-filter-bar {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
  margin-bottom: 2.5rem;
}
.tag-btn {
  padding: .4rem 1rem;
  border-radius: 2px;
  background: var(--c-off);
  color: var(--c-black);
  font-size: var(--fs-sm);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .04em;
  border: none;
  cursor: pointer;
  text-decoration: none;
  transition: background var(--t), color var(--t);
}
.tag-btn:hover { background: var(--c-secondary); color: #fff; }
.tag-btn--active { background: var(--c-primary); color: #fff; }

.news-page-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2.5rem 2rem;
  margin-bottom: 2.5rem;
}
@media (max-width: 900px) {
  .news-page-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 600px) {
  .news-page-grid { grid-template-columns: 1fr; }
}

.news-card {
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

.news-card__thumb { overflow: hidden; }
.news-card__img { width: 100%; height: 100%; object-fit: cover; display: block; }
.news-card__img--placeholder { background: var(--c-off); }

.news-card__body { padding: 1.25rem; padding-top: 0;  flex: 1; display: flex; flex-direction: column; gap: .5rem; }
.news-card__meta { display: flex; gap: .75rem; align-items: center; flex-wrap: wrap; }
.news-card__cat {
  font-size: var(--fs-xs); font-weight: 700; text-transform: uppercase;
  color: var(--c-secondary); letter-spacing: .06em;
}
.news-card__date { font-size: var(--fs-xs); color: var(--c-muted); }
.news-card__title { font-size: 1.6rem; font-weight: 800; line-height: 1.35; }
.news-card__title a { color: inherit; text-decoration: none; }
.news-card__title a:hover { color: var(--c-secondary); }
.news-card__intro { font-size: var(--fs-sm); color: var(--c-muted); line-height: 1.6; margin-top: auto; }
.news-card__tags { display: flex; flex-wrap: wrap; gap: .35rem; margin-top: .5rem; }
.tag-pill {
  padding: .2rem .65rem; background: var(--c-mint); color: var(--c-primary);
  font-size: var(--fs-xs); font-weight: 600; border-radius: 2px;
  text-decoration: none; transition: background var(--t);
}
.tag-pill:hover { background: var(--c-mint-dk); }

/* Pagination */
.pagination-bar {
  display: flex; align-items: center; justify-content: center; gap: 1.5rem;
  padding: 2rem 0;
}
.page-btn {
  padding: .5rem 1.5rem; background: var(--c-primary); color: #fff;
  font-size: var(--fs-sm); font-weight: 700; text-decoration: none;
  border-radius: var(--r); transition: background var(--t);
}
.page-btn:hover { background: var(--c-primary-dk); }
.page-info { font-size: var(--fs-sm); color: var(--c-muted); }

.news-empty {
  grid-column: 1/-1; text-align: center;
  padding: 3rem 1rem; color: var(--c-muted); font-size: var(--fs-md);
}

.news-featured__inner {
  display: flex;
  gap: 1.25rem;
  align-items: flex-start;
  padding: 1.5rem 0;
}
.news-featured__thumb {
  flex-shrink: 0;
  width: 140px;
  height: 105px;
  overflow: hidden;
  border-radius: var(--r);
  background: var(--c-off);
}
.news-featured__thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.news-featured__body { flex: 1; }
.news-featured__title { font-size: 1.0625rem; font-weight: 700; line-height: 1.35; margin-bottom: .35rem; }
.news-featured__title-link { color: inherit; text-decoration: none; }
.news-featured__title-link:hover { color: var(--c-secondary); }
.news-featured__intro { font-size: var(--fs-sm); color: var(--c-muted); line-height: 1.6; margin-top: .5rem; }
.news-featured--sep { border-bottom: 1px solid var(--c-gray); }

.news-meta__date { font-size: var(--fs-xs); color: var(--c-muted); display: block; margin-bottom: .35rem; }

.news-compact { padding: .75rem 0; }
.news-compact--sep { border-bottom: 1px solid var(--c-gray); }
.news-compact__title { font-size: .875rem; font-weight: 700; line-height: 1.3; margin-bottom: .2rem; }
.news-compact__link { color: inherit; text-decoration: none; }
.news-compact__link:hover { color: var(--c-secondary); }
.news-compact__date { font-size: var(--fs-xs); color: var(--c-muted); }

.reveal { opacity: 0; transform: translateY(1.5rem); transition: opacity .55s ease, transform .55s ease; }
.reveal.visible { opacity: 1; transform: none; color: var(--c-primary); }
.reveal-d1 { transition-delay: .1s; }
.reveal-d2 { transition-delay: .2s; }
.reveal-d3 { transition-delay: .3s; }

.section-child {
  opacity: 0;
  transform: translateY(1.25rem);
  transition: opacity .5s ease, transform .5s ease;
}
.section-child--in {
  opacity: 1;
  transform: none;
}

.hero { overflow: hidden; }
.feature-section { overflow: hidden; }
.jobs-section { overflow: hidden; }

.feature-bg {
  will-change: transform;
  transition: none;
}

.jobs-photo {
  will-change: transform;
  transition: none;
}

.cms-toolbar-expanded .site-header { top: calc(80px + var(--util-bar-h, 2rem)); }

@media (max-width: 1280px) {
  .leadership-text {
    padding-left: clamp(1rem, 5vw, 6.25rem);
  }
  .jobs-text {
    padding-left: clamp(1rem, 5vw, 6.25rem);
  }
  .feature-card {
    margin-left: clamp(1rem, 5vw, 6.25rem);
  }
}

@media (max-width: 1024px) {
  h2 { font-size: clamp(1.75rem, 4vw, 2.5rem); }

  .util-bar__inner { padding-inline: clamp(1rem, 4vw, 3rem); }
  .site-header { padding: 1rem clamp(1rem, 4vw, 3rem); }
  .site-logo__img { height: 80px; }
  .header-search { min-width: 180px; }
  .hero__title { font-size: clamp(2rem, 5vw, 3.5rem); }
  .hero__subtitle { font-size: clamp(.9375rem, 1.8vw, 1.5rem); }
  .about-layout { max-width: 100%; }
  .leadership-section { height: auto !important; 0 0 2rem 0 !important; overflow: hidden; }
  .leadership-inner { grid-template-columns: 1fr; grid-template-rows: auto auto; min-height: auto; max-height: none !important; height: auto !important; }
  .leadership-text { grid-row: 1; padding: 3rem 2rem 2.5rem; align-items: flex-start; }
  .leadership-text__inner { max-width: 100%; }
  .leadership-title { font-size: clamp(1.75rem, 3.5vw, 2.5rem); margin-bottom: 2rem; }
  .leadership-photo { grid-row: 2; position: relative; height: clamp(320px, 60vw, 500px); min-height: 0 !important; max-height: none !important; overflow: hidden; aspect-ratio: 0; margin-right: 0; }
  .leadership-photo img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; object-position: center 15%; }
  .oferta-content-grid { grid-template-columns: 1fr 1fr; }
  .oferta-col--text { grid-column: 1 / -1; padding-left: 0; padding-top: 1rem; }
  .oferta-main-title { font-size: clamp(2.5rem, 5vw, 3.5rem); }
  .feature-section { display: flex; flex-direction: column; min-height: auto; }
  .feature-card { order: 1; grid-column: unset; grid-row: unset; width: 100%; min-width: auto; max-width: 100%; margin: 0; margin-left: 0 !important; padding: 3rem 2rem; box-sizing: border-box; }
  .feature-card__title { font-size: clamp(1.5rem, 3vw, 2.25rem); }
  .feature-bg { order: 2; position: relative; grid-column: unset; grid-row: unset; width: 100%; height: clamp(280px, 55vw, 420px); }
  .feature-bg img, .feature-bg video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
  .news-layout { gap: 0 1.5rem; }
  .news-section__title { font-size: clamp(2rem, 4vw, 3rem); }
  .jobs-section { grid-template-columns: 1fr; min-height: auto; padding-top: 0; padding-bottom: 2rem; overflow: hidden; }
  .jobs-text { padding: 3rem 2rem; }
  .jobs-text__inner { padding: 0; max-width: 100%; }
  .jobs-title { font-size: clamp(1.75rem, 3.5vw, 2.75rem); }
  .jobs-photo { position: relative; height: clamp(300px, 60vw, 480px); overflow: hidden; min-height: 0; max-height: none; aspect-ratio: 0}
  .jobs-photo img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; object-position: center; }
  .training-section { overflow: hidden; }
  .training-inner { display: grid; grid-template-columns: 1fr; grid-template-rows: auto auto; min-height: auto; max-height: none; }
  .training-photo { grid-row: 1; position: relative; width: 100%; height: clamp(280px, 55vw, 420px); overflow: hidden; }
  .training-photo img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; object-position: center; }
  .training-text { grid-row: 2; padding: 3rem 2rem; padding-right: 2rem !important; }
  .training-text__inner { max-width: 100%; }
  .training-title { font-size: clamp(1.5rem, 3vw, 2rem); }
  .footer-body { gap: 0 2rem; padding: 2.5rem clamp(1rem, 4vw, 3rem) 3rem; }
  .page-layout { grid-template-columns: 1fr; }
  .page-sidebar { position: static; }
  .news-list-page .news-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 768px) {
  h2 { font-size: clamp(1.5rem, 6vw, 2.25rem); }
  h3 { font-size: clamp(1.25rem, 5vw, 1.75rem); }

  .util-bar__inner { padding: .375rem 1rem; }
  .util-bar__left { display: none; }

  .site-header { padding: .875rem 1rem; top: 2rem; }
  .header-search { min-width: 0; flex: 1; }
  .header-search input { font-size: .625rem; min-width: 0; }
  .site-logo__img { height: 40px; }

  .hero-group { min-height: 100svh; height: 100svh; }
  .hero__body {
    padding-top: 0;
    padding-bottom: clamp(9rem, 30vw, 13rem); 
    align-items: flex-start;
    padding-left: 1.25rem;
    padding-right: 1.25rem;
  }
  .hero__content { padding-left: 0; }
  .hero__title {
    font-size: clamp(1.75rem, 8vw, 2.75rem);
    margin-bottom: 1rem;
    letter-spacing: -.015em;
  }
  .hero__subtitle {
    font-size: clamp(.875rem, 3.5vw, 1.125rem);
    line-height: 1.55;
    max-width: 100%;
  }
  .hero-strip-slot { bottom: 0; padding: 0; }
  .news-strip { max-width: 100%; margin: 0; border-radius: 0; border-left: none; border-right: none; }
  .news-strip__grid { grid-template-columns: 1fr; }
  .news-strip__item-wrap--sep::after { display: none; }
  .news-strip__item-wrap--sep { border-bottom: 1px solid rgba(255,255,255,.15); }
  .news-strip__item-wrap { padding: 1.15rem 1.15rem; }
  .about-section { padding: 3.5rem 0; }
  .about-layout { max-width: 100%; padding-left: 0; padding-right: 0; }
  .about-layout--with-image { flex-direction: column; gap: 2rem; }
  .about-layout--with-image .about-image { width: 100%; max-width: 100%; }
  .leadership-section {
    height: auto !important;   
    padding: 0 !important;      
    overflow: hidden;
  }
  .leadership-inner {
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: auto auto;
    height: auto !important;
    min-height: auto;
    max-height: none !important;
  }
  .leadership-text {
    grid-row: 1;
    padding: 3rem 1.25rem 2.5rem;
    align-items: flex-start;
  }
  .leadership-text__inner { max-width: 100%; }
  .leadership-title { font-size: clamp(1.5rem, 6vw, 2rem); margin-bottom: 1.75rem; }
  .leadership-photo {
    grid-row: 2;
    position: relative;
    width: 100%;
    height: clamp(280px, 80vw, 420px);
    min-height: 0 !important;
    max-height: none !important;
    overflow: hidden;
  }
  .leadership-photo img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center 20%;
  }

  .oferta-section { padding: 3rem 0; }
  .oferta-content-grid { grid-template-columns: 1fr; }
  .oferta-img--main { min-height: 260px; }
  .oferta-img--small { height: 160px; }
  .oferta-col--text { padding-left: 0; }
  .oferta-main-title { font-size: clamp(2rem, 8vw, 2.75rem); }
  .feature-section {
    display: flex;
    flex-direction: column;
    min-height: auto;
    grid-template-columns: unset;
    grid-template-rows: unset;
  }
  .feature-card {
    order: 1;
    grid-column: unset;
    grid-row: unset;
    width: 100%;
    min-width: auto;
    max-width: 100%;
    margin: 0;
    margin-left: 0 !important;
    padding: 3rem 1.25rem;
    box-sizing: border-box;
  }
  .feature-card__title { font-size: clamp(1.5rem, 6vw, 2rem); }
  .feature-card__label { margin-bottom: 1.25rem; }

  .feature-bg {
    order: 2;
    position: relative;
    grid-column: unset;
    grid-row: unset;
    width: 100%;
    height: clamp(220px, 55vw, 340px);
  }
  .feature-bg img,
  .feature-bg video {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  .news-section { padding: 3rem 0; }
  .news-layout { grid-template-columns: 1fr; gap: 0; }
  .news-col-sep { display: none; }
  .news-col--compact { display: flex; flex-direction: column; gap: 0; }
  .news-section__title { font-size: clamp(1.75rem, 6vw, 2.25rem); }

  .news-card__inner {
    display: flex;
    flex-direction: column;
    gap: .875rem;
  }
  .news-card__thumb {
    width: 100%;
    height: clamp(160px, 45vw, 240px);
    min-height: 0;
    overflow: hidden;
    border-radius: 4px;
    flex-shrink: 0;
  }
  .news-card__thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
  }
  .news-card__body { width: 100%; }
  .training-section { overflow: hidden; }
  .training-inner {
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: auto auto;
    min-height: auto;
    max-height: none;
  }
  .training-photo {
    grid-row: 1;                 
    position: relative;
    width: 100%;
    height: clamp(240px, 65vw, 360px);
    overflow: hidden;
    padding-left: 2rem;
  }
  .training-photo img {
    display: block;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center;
  }
  .training-photo--empty { display: none; }
  .training-text {
    grid-row: 2;              
    padding: 2.5rem 1.25rem 3rem;
    padding-right: 1.25rem !important;
  }
  .training-text__inner { max-width: 100%; }
  .training-title { font-size: clamp(1.5rem, 6vw, 2rem); margin-bottom: 1.25rem; }
  .jobs-section { grid-template-columns: 1fr; min-height: auto; padding-top: 0; padding-bottom: 0; }
  .jobs-text {
    padding: 3rem 1.25rem;  
  }
  .jobs-text__inner { padding: 0; max-width: 100%; }
  .jobs-title { font-size: clamp(1.5rem, 6vw, 2rem); }
  .jobs-photo { min-height: 280px; max-height: 380px; }
  .jobs-photo img { position: static; width: 100%; height: 100%; min-height: 280px; object-fit: cover; }
  .footer-top { padding: 1.5rem 1.25rem 0; gap: 1rem; }
  .footer-body { grid-template-columns: 1fr; padding: 2rem 1.25rem 3rem; }
  .footer-col-divider { display: none; }
  .two-col, .two-col--6-6, .two-col--7-5, .two-col--5-7, .two-col--8-4 {
    grid-template-columns: 1fr;
  }
  .news-list-page .news-grid { grid-template-columns: 1fr; }
}

@media (max-width: 480px) {
  .menu-btn__label { display: none; }
  .header-search { min-width: 0; }
  .search-form__inner { flex-direction: column; }
  .hero__title { font-size: clamp(1.5rem, 9vw, 2.25rem); }
  .hero__subtitle { font-size: clamp(.8125rem, 3.5vw, 1rem); }
  .hero__body { padding-bottom: clamp(11rem, 35vw, 15rem); }
  .leadership-title { font-size: clamp(1.375rem, 7vw, 1.75rem); }
  .jobs-title { font-size: clamp(1.375rem, 7vw, 1.75rem); }
  .training-title { font-size: clamp(1.25rem, 7vw, 1.625rem); }
  .training-text { padding: 2.5rem 1.25rem 1.5rem; padding-right: 1.25rem !important; }
  .training-photo { height: 220px; }
  .oferta-main-title { font-size: clamp(1.75rem, 8vw, 2.25rem); }
  .feature-card { padding: 2rem 1.25rem; }
  .feature-card__title { font-size: clamp(1.25rem, 7vw, 1.75rem); }
}

@media (forced-colors: active) {
  .btn, .tag-btn, .news-item__arrow { border: 2px solid ButtonText; }
  .hero__overlay { background: transparent; }
} 

@media print {
  .site-header, .mobile-nav, .site-footer, .skip-link { display: none !important; }
  body { font-size: 12pt; color: #000; }
  .container { max-width: 100%; padding: 0; }
}

.page-title {
padding-bottom: 2rem;
}

.bc { padding: 6rem 0 1rem 0; }
.bc__list {
  display: flex; flex-wrap: wrap; align-items: center;
  list-style: none; margin: 0; padding: 0;
}
.bc__item { display: flex; align-items: center; }
.bc__link {
  font-size: .6875rem; color: var(--c-secondary);
  text-decoration: none; white-space: nowrap;
  transition: color var(--t);
}
.bc__link--home { display: flex; align-items: center; }
.bc__link:hover { color: var(--c-primary); text-decoration: underline; }
.bc__current {
  font-size: .6875rem; color: var(--c-muted);
  white-space: normal
  text-overflow: ellipsis;
  display: inline-block; vertical-align: bottom;
  overflow-wrap: break-word;
}
.bc__sep {
  display: flex; align-items: center;
  color: var(--c-gray); font-size: .5rem; padding: 0 .3rem;
}

.ni-page { background: var(--c-white); padding-top: .5rem; padding-bottom: 5rem; min-height: 60vh; }

.ni-header {
  display: flex; align-items: flex-start;
  justify-content: space-between;
  gap: 1rem 2rem; flex-wrap: wrap;
  padding: 1.5rem 0 2rem;
}
.ni-header__text { flex: 1; min-width: 0; }
.ni-header__title { font-size: clamp(2rem, 5vw, 2.75rem); font-weight: 900; color: var(--c-black); margin: 0 0 .25rem; line-height: 1.1; }
.ni-header__desc { font-size: var(--fs-sm); color: var(--c-muted); margin: 0; }

.ni-search {
  display: flex; align-items: center; gap: .5rem;
  border: 1.5px solid var(--c-gray); border-radius: 999px;
  padding: .5rem 1.125rem; background: var(--c-white);
  min-width: 200px; max-width: 260px; flex-shrink: 0;
  transition: border-color var(--t);
}
.ni-search:focus-within { border-color: var(--c-secondary); }
.ni-search__icon { color: var(--c-muted); font-size: .875rem; line-height: 1; cursor: text; flex-shrink: 0; }
.ni-search__input { flex: 1; min-width: 0; border: none; outline: none; background: transparent; font-family: var(--font); font-size: var(--fs-sm); color: var(--c-black); }
.ni-search__input::placeholder { color: var(--c-muted); }

.ni-grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  border-top: 1px solid var(--c-gray);
  border-bottom: 1px solid var(--c-gray);
}
.ni-card { border-right: 1px solid var(--c-gray); padding: 1rem; }
.ni-card:last-child { border-right: none; }
.ni-card__link { display: flex; flex-direction: column; text-decoration: none; color: inherit; height: 100%; padding-bottom: 1rem; }
.ni-card__link:hover .ni-card__title { color: var(--c-secondary); }

.ni-card__img-wrap { width: 100%; aspect-ratio: 600 / 253; overflow: hidden; flex-shrink: 0; }
.ni-card__img-wrap img { width: 100%; height: 100%; object-fit: contain; object-position: center; display: block; transition: transform .4s ease; }
.ni-card__img-ph { width: 100%; height: 100%; background: var(--c-off); }

.ni-card__date { display: block; font-size: var(--fs-xs); color: var(--c-muted); margin: .625rem .875rem .25rem; }
.ni-card__title { font-size: clamp(.8125rem, 1.2vw, .9375rem); font-weight: 700; line-height: 1.4; color: var(--c-black); margin: 0 .875rem; transition: color var(--t); }

.ni-list { margin-top: 0; }
.ni-list__rows { list-style: none; margin: 0; padding: 0; }

.ni-row { border-bottom: 1px solid var(--c-gray); padding-bottom: 1rem; padding-top: 1rem; }
.ni-row:last-child { border-bottom: none; }
.ni-row__inner { display: grid; grid-template-columns: 380px 1fr; text-decoration: none; color: inherit; transition: background var(--t); }
.ni-row__inner:hover { background: var(--c-off); }
.ni-row__inner:hover .ni-row__title { color: var(--c-secondary); }

.ni-row__thumb { background: var(--c-off); overflow: hidden; display: flex; align-items: center; justify-content: center; }
.ni-row__thumb img { width: 100%; height: 100%; object-fit: cover; object-position: center; display: block; transition: transform .4s ease; aspect-ratio: 16/9; }
.ni-row__thumb-ph { width: 100%; aspect-ratio: 16/9; background: var(--c-off); }

.ni-row__body { padding: 1.25rem 1.5rem; min-width: 0; display: flex; flex-direction: column; justify-content: center; }
.ni-row__date { display: block; font-size: var(--fs-xs); color: var(--c-muted); margin-bottom: .375rem; }
.ni-row__title { font-size: clamp(1rem, 1.5vw, 1.0625rem); font-weight: 700; line-height: 1.4; color: var(--c-black); margin: 0 0 .5rem; transition: color var(--t); }
.ni-row__intro { font-size: var(--fs-sm); color: var(--c-muted); line-height: 1.6; margin: 0; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }

.ni-sentinel { height: 1px; }
.ni-loader { display: flex; justify-content: center; align-items: center; gap: .5rem; padding: 2rem; }
.ni-loader span { width: 8px; height: 8px; border-radius: 50%; background: var(--c-gray); animation: ni-dot 1.2s ease-in-out infinite; }
.ni-loader span:nth-child(2) { animation-delay: .2s; }
.ni-loader span:nth-child(3) { animation-delay: .4s; }
.ni-loader[hidden] { display: none !important; }
@keyframes ni-dot { 0%,80%,100%{transform:scale(.75);opacity:.4} 40%{transform:scale(1);opacity:1} }
.ni-empty { text-align: center; padding: 5rem 1rem; color: var(--c-muted); font-size: var(--fs-md); }

.art-page { background: var(--c-white); padding-top: .5rem; padding-bottom: 5rem; }
.art-container { max-width: 80%; }

.art-back { display: inline-flex; align-items: center; gap: .375rem; font-size: var(--fs-sm); font-weight: 700; color: var(--c-secondary); text-decoration: none; margin: .5rem 0 1.75rem; transition: gap var(--t), color var(--t); }
.art-back:hover { color: var(--c-primary); gap: .625rem; }

.art-title { font-size: clamp(1.75rem, 4vw, 2.5rem); font-weight: 900; line-height: 1.2; color: var(--c-black); margin: 0 0 1.25rem; letter-spacing: -.015em; }

.art-meta { display: flex; align-items: center; flex-wrap: wrap; gap: .75rem 1.5rem; margin-bottom: 1.5rem; }
.art-meta__date { display: inline-flex; align-items: center; gap: .4rem; font-size: var(--fs-sm); color: var(--c-muted); }
.art-meta__tags { display: flex; gap: .375rem; flex-wrap: wrap; }
.art-tag { display: inline-block; padding: .2rem .7rem; background: var(--c-mint); color: var(--c-primary); font-size: .6875rem; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; border-radius: 2px; }

.art-lead { font-size: clamp(1rem, 1.8vw, 1.0625rem); font-weight: 700; line-height: 1.75; color: var(--c-black); margin: 0 0 1.75rem; }

.art-hero-fig { margin: 0 0 2rem; border-radius: 2px; overflow: hidden; background: var(--c-off); }
.art-hero-img { width: 100%; height: auto; display: block; }
.art-hero-caption { font-size: var(--fs-xs); color: var(--c-muted); padding: .5rem .75rem; text-align: center; font-style: italic; }

.art-content { font-size: var(--fs-base); line-height: 1.8; color: var(--c-black); }
.art-content p { margin-bottom: 1.125rem; }
.art-content h2 { font-size: clamp(1.375rem, 2.5vw, 1.75rem); font-weight: 800; margin: 2.5rem 0 .875rem; }
.art-content h3 { font-size: clamp(1.125rem, 2vw, 1.375rem); font-weight: 700; margin: 2rem 0 .75rem; }
.art-content h4 { font-size: 1rem; font-weight: 700; margin: 1.5rem 0 .625rem; }
.art-content ul, .art-content ol { padding-left: 1.625rem; margin-bottom: 1.25rem; }
.art-content ul { list-style: disc; }
.art-content ol { list-style: decimal; }
.art-content li { margin-bottom: .5rem; line-height: 1.75; }
.art-content a { color: var(--c-secondary); text-decoration: underline; text-underline-offset: 3px; }
.art-content a:hover { color: var(--c-primary); }
.art-content strong, .art-content b { font-weight: 700; }
.art-content em { font-style: italic; }

.art-content blockquote {
    margin: 24px 0;
    padding: 0;
    border-left: 0;
    background: transparent;
    color: #5f6b76;
    font-style: italic;
}

.art-content blockquote p {
    margin: 0 0 10px;
    font-size: font-size: var(--fs-base);
    line-height: 1.7;
}

.art-content img { max-width: 100%; height: auto; display: block; border-radius: 2px; margin: 1.5rem auto; }
.art-content figure { margin: 1.75rem 0; text-align: center; }
.art-content figcaption { font-size: var(--fs-xs); color: var(--c-muted); margin-top: .5rem; }
.art-content table { width: 100%; border-collapse: collapse; margin: 1.5rem 0; font-size: var(--fs-sm); }
.art-content th { background: var(--c-primary); color: #fff; padding: .625rem 1rem; text-align: left; font-weight: 700; }
.art-content td { padding: .5rem 1rem; border-bottom: 1px solid var(--c-gray); }
.art-content tr:nth-child(even) td { background: var(--c-off); }


.art-content img.img-left {
    display: block;
    margin-left: 0;
    margin-right: auto;
}


.art-related { margin-top: 3rem; padding-top: 1.75rem; border-top: 3px solid var(--c-gray); }
.art-related__heading { font-size: clamp(1.125rem, 2.5vw, 1.375rem); font-weight: 800; margin: 0 0 1.25rem; }
.art-related__list { list-style: none; margin: 0; padding: 0; }
.art-related__item { border-bottom: 1px solid var(--c-gray); }
.art-related__item:last-child { border-bottom: none; }
.art-related__link { display: grid; grid-template-columns: 160px 1fr; gap: 0 1.25rem; align-items: center; padding: .875rem 0; text-decoration: none; color: inherit; transition: background var(--t); }
.art-related__link:hover { background: var(--c-off); }
.art-related__link:hover .art-related__title { color: var(--c-secondary); }
.art-related__thumb { aspect-ratio: 3/2; overflow: hidden; background: var(--c-off); border-radius: 2px; }
.art-related__thumb img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .4s ease; }
.art-related__link:hover .art-related__thumb img { transform: scale(1.05); }
.art-related__thumb-ph { width: 100%; height: 100%; background: var(--c-off); }
.art-related__body { min-width: 0; }
.art-related__date { display: block; font-size: var(--fs-xs); color: var(--c-muted); margin-bottom: .25rem; }
.art-related__title { font-size: var(--fs-sm); font-weight: 700; line-height: 1.4; color: var(--c-black); margin: 0; transition: color var(--t); }

@media (max-width: 1280px) {
  .ni-grid { grid-template-columns: repeat(4, 1fr); }
  .ni-card:nth-child(5) { display: none; }
  .ni-row__inner { grid-template-columns: 300px 1fr; }
}


@media (max-width: 1024px) {
  .ni-grid { grid-template-columns: repeat(3, 1fr); }
  .ni-card:nth-child(4), .ni-card:nth-child(5) { display: none; }
  .ni-row__inner { grid-template-columns: 240px 1fr; }
  .art-container { max-width: 100%; }
}

@media (max-width: 768px) {
  .ni-header { flex-direction: column; gap: .75rem; padding-bottom: 1.25rem; }
  .ni-search { min-width: 0; max-width: 100%; width: 100%; }
  .ni-grid { grid-template-columns: repeat(2, 1fr); }
  .ni-card:nth-child(3), .ni-card:nth-child(4), .ni-card:nth-child(5) { display: none; }
  .ni-row__inner { grid-template-columns: 1fr; }
  .ni-row__thumb img { aspect-ratio: 16/9; height: auto; }
  .ni-row__thumb-ph { min-height: 200px; }
  .ni-row__body { padding: .875rem 0 1rem; }
  .art-related__link { grid-template-columns: 120px 1fr; }
  .bc__current { max-width: 24ch; }
}

@media (max-width: 480px) {
  .ni-grid { grid-template-columns: 1fr; border-bottom: none; }
  .ni-card { border-right: none; border-bottom: 1px solid var(--c-gray); display: block !important; }
  .ni-card:last-child { border-bottom: none; }
  .ni-card__img-wrap { aspect-ratio: 16/9; }
  .ni-card__date { margin-left: 0; }
  .ni-card__title { margin-left: 0; }
  .ni-card__link { padding-bottom: .875rem; }
  .art-related__link { grid-template-columns: 1fr; }
  .art-related__thumb { aspect-ratio: 16/9; }
  .art-content table { font-size: .75rem; }
  .art-content th, .art-content td { padding: .375rem .5rem; }
}
.crop-preview-container { margin-top: 1rem; border: 2px solid var(--c-gray); border-radius: 4px; overflow: hidden; max-height: 400px; }
.crop-preview-container img { max-width: 100%; display: block; }
.crop-actions { margin-top: .75rem; display: flex; gap: .5rem; align-items: center; }
.crop-btn { padding: .375rem .875rem; background: var(--c-primary); color: #fff; border: none; border-radius: 4px; font-size: .875rem; cursor: pointer; }
.crop-btn:hover { background: var(--c-primary-dk); }
.crop-btn--reset { background: #ba2121; }
.crop-btn--reset:hover { background: #991a1a; }
.crop-info { font-size: .75rem; color: var(--c-muted); font-family: monospace; }

.mobile-nav__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1.5rem 2rem 1.25rem;
  border-bottom: 1px solid rgba(255,255,255,.1);
}
.mobile-nav__logo-fallback {
  font-size: 1.75rem;
  font-weight: 900;
  color: #fff;
  letter-spacing: -.03em;
}
.mobile-nav__bottom {
  padding: 1.5rem 2rem;
  border-top: 1px solid rgba(255,255,255,.1);
  margin-top: auto;
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.mobile-nav__util {
  display: flex;
  flex-direction: column;
  gap: .5rem;
}
.mobile-nav__util-link {
  font-size: var(--fs-xs);
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: rgba(255,255,255,.55);
  transition: color var(--t);
}
.mobile-nav__util-link:hover { color: #fff; }

.hero-video-pause {
  position: absolute;
  bottom: 1.25rem;
  right: 0.25rem;
  z-index: 20;
  width: 2.75rem;
  height: 2.75rem;
  border-radius: 50%;
  background: rgba(35,61,66,.05);
  border: 1px solid rgba(255,255,255,.3);
  color: rgba(255,255,255,.8);
  font-size: 1rem;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: background var(--t), border-color var(--t), color var(--t);
}
.hero-video-pause:hover {
  background: rgba(35,61,66,.9);
  border-color: rgba(255,255,255,.6);
  color: #fff;
}
.hero-video-pause:focus-visible {
  outline: 2px solid var(--c-focus);
  outline-offset: 2px;
}

.jobs-page {
  background: var(--c-white);
  padding: 4rem 0 6rem;
  min-height: 70vh;
}

.jobs-page__header {
  margin-bottom: 3rem;
  padding-bottom: 2rem;
  border-bottom: 2px solid var(--c-gray);
  padding-top: 3rem;
}

.jobs-page__title {
  font-size: clamp(2.25rem, 5vw, 3.5rem);
  font-weight: 900;
  color: var(--c-primary);
  margin-bottom: .5rem;
  line-height: 1.1;
}

.jobs-page__subtitle {
  font-size: var(--fs-md);
  color: var(--c-muted);
  font-weight: 400;
}

.jobs-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(50%, 1fr));
  gap: 2rem;
  margin-bottom: 3rem;
}

.job-card {
  background: var(--c-white);
  border: 2px solid var(--c-gray);
  border-radius: var(--r-md);
  padding: 2rem;
  transition: all var(--t);
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
  text-decoration: none;
  color: inherit;
  position: relative;
  overflow: hidden;
}

.job-card:hover {
  border-color: var(--c-secondary);
  box-shadow: var(--shadow-md);
  transform: translateY(-3px);
}

.job-card:hover .job-card__title {
  color: var(--c-secondary);
}

.job-card__title {
  font-size: 1.25rem;
  font-weight: 700;
  color: var(--c-black);
  margin: 0;
  line-height: 1.3;
  transition: color var(--t);
}

.job-card__meta {
  display: flex;
  flex-direction: column;
  gap: .625rem;
}

.job-card__meta-item {
  display: flex;
  align-items: center;
  gap: .625rem;
  font-size: var(--fs-sm);
  color: var(--c-muted);
}

.job-card__meta-item i {
  color: var(--c-secondary);
  font-size: 1rem;
  width: 1.25rem;
  text-align: center;
}

.job-card__link-text {
  display: inline-flex;
  align-items: center;
  gap: .375rem;
  font-size: var(--fs-sm);
  font-weight: 700;
  color: var(--c-primary);
  margin-top: auto;
  transition: gap var(--t);
}

.job-card:hover .job-card__link-text {
  gap: .625rem;
  color: var(--c-secondary);
}

.job-card__status {
  position: absolute;
  top: 1rem;
  right: 1rem;
  padding: .375rem .75rem;
  background: var(--c-mint);
  color: var(--c-primary);
  font-size: .6875rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .06em;
  border-radius: 2px;
}

.jobs-empty {
  text-align: center;
  padding: 5rem 2rem;
  color: var(--c-muted);
}

.jobs-empty i {
  font-size: 4rem;
  opacity: .25;
  display: block;
  margin-bottom: 1.5rem;
}

.jobs-empty p {
  font-size: var(--fs-lg);
  margin-bottom: .75rem;
}

.jobs-empty__hint {
  font-size: var(--fs-sm);
  color: var(--c-muted);
}

@media (max-width: 768px) {
  .jobs-grid {
    grid-template-columns: 1fr;
    gap: 1.5rem;
  }
  
  .jobs-page {
    padding: 3rem 0 4rem;
  }
  
  .job-card {
    padding: 1.5rem;
  }
}

@media (max-width: 480px) {
  .jobs-page__title {
    font-size: clamp(1.75rem, 8vw, 2.5rem);
  }
  
  .job-card__title {
    font-size: 1.125rem;
  }
}


   .footer-col-links a,
    .footer-col-left a,
    .footer-col-right a {
      color: rgba(255,255,255,.8) !important;
    }
    .util-bar__link {
      color: rgba(255,255,255,.9) !important;
    }
    .util-bar__lang-btn {
      color: rgba(255,255,255,.8) !important;
    }
    .bc__link {
      color: var(--c-primary) !important;
    }
    .bc__current {
      color: var(--c-primary) !important;
    }
    .ni-header__desc,
    .ni-card__date,
    .ni-row__date,
    .ni-row__intro,
    .art-meta__date,
    .art-related__date,
    .news-card__date,
    .news-compact__date {
      color: #2d5560 !important;
    }
    .footer-org-addr,
    .footer-org-sub {
      color: rgba(255,255,255,.8) !important;
    }
    .footer-social-label {
      color: rgba(255,255,255,.75) !important;
    }
    .feature-card__label { color: var(--c-primary) !important; }
    .jobs-label           { color: rgba(255,255,255,.8) !important; }
    .jobs-body            { color: #fff !important; }
    .news-card__intro     { color: #2d5560 !important; }
    .footer-col-links a, .footer-col-left a, .footer-col-right a { color: rgba(255,255,255,.8) !important; }
    .util-bar__link { color: rgba(255,255,255,.9) !important; }
    .util-bar__lang-btn { color: rgba(255,255,255,.8) !important; }
    .bc__link { color: var(--c-primary) !important; }
    .bc__current { color: var(--c-primary) !important; }
    .ni-header__desc, .ni-card__date, .ni-row__date, .ni-row__intro,
    .art-meta__date, .art-related__date, .news-card__date, .news-compact__date { color: #2d5560 !important; }
    .footer-org-addr, .footer-org-sub { color: rgba(255,255,255,.8) !important; }
    .footer-social-label { color: rgba(255,255,255,.75) !important; }

    .footer-col-main { padding-left: 0 !important; }
    @media (max-width: 900px) {
      .footer-right-container {
        grid-template-columns: 1fr !important;
        gap: 0 !important;
      }
      .footer-col-left { margin-bottom: 1.25rem; }
    }
    
    html {
      scrollbar-gutter: stable;   
    }
    @supports not (scrollbar-gutter: stable) {
      html {
        overflow-y: scroll;
      }
    }
    .feature-card__label { color: var(--c-primary) !important; }
    .jobs-label           { color: rgba(255,255,255,.8) !important; }
    .jobs-body            { color: #fff !important; }
    .news-card__intro     { color: #2d5560 !important; }
    .footer-col-links a, .footer-col-left a, .footer-col-right a { color: rgba(255,255,255,.8) !important; }
    .util-bar__link { color: rgba(255,255,255,.9) !important; }
    .util-bar__lang-btn { color: rgba(255,255,255,.8) !important; }
    .bc__link { color: var(--c-primary) !important; }
    .bc__current { color: var(--c-primary) !important; }
    .ni-header__desc, .ni-card__date, .ni-row__date, .ni-row__intro,
    .art-meta__date, .art-related__date, .news-card__date, .news-compact__date { color: #2d5560 !important; }
    .footer-org-addr, .footer-org-sub { color: rgba(255,255,255,.8) !important; }
    .footer-social-label { color: rgba(255,255,255,.75) !important; }

    .footer-col-main { padding-left: 0 !important; }
    #scrollToTopBtn {
      position: fixed;
      bottom: 30px;
      right: 30px;
      width: 40px;
      height: 40px;
      min-width: 40px;
      background-color: rgba(64, 105, 113, 0.85);
      border: none;
      border-radius: 6px;
      font-size: 18px;
      font-weight: bold;
      z-index: 1000;
      padding: 0;
      cursor: pointer;
      color: white;
      display: flex;
      align-items: center;
      justify-content: center;
      opacity: 0;
      visibility: hidden;
      transition: opacity .25s, visibility .25s, background .2s;
    }
    #scrollToTopBtn.is-visible {
      opacity: 1;
      visibility: visible;
    }
    #scrollToTopBtn:hover { background-color: #233d42; }

    @media (max-width: 480px) {
      .util-bar__inner {
        padding: .3rem .75rem;
        gap: .25rem;
        flex-wrap: nowrap;
        overflow: hidden;
      }
      .util-bar__sep { display: none; }
      .util-bar__link--primary {
        font-size: .6rem;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
        max-width: 90px;
      }
      .util-bar__link:not(.util-bar__link--primary) {
        font-size: .6rem;
        white-space: nowrap;
      }
      .util-bar__lang-btn { font-size: .6rem; }
    }
    body:not(.has-hero) .site-header {
      top: 40px !important;
    }
    }    
    @media (max-width: 768px) {
      .news-item__title {
        font-size: 1rem !important;
        overflow-wrap: break-word;
        word-break: break-word;
        hyphens: auto;
      }
      .news-item__body {
        gap: .875rem;
        overflow: hidden;
      }
      .news-item__text {
        min-width: 0;       
        overflow: hidden;
      }
      .news-strip__item-wrap {
        overflow: hidden;
      }
    }
    @media (max-width: 768px) {
      .art-page { padding-top: 0; }
      .art-container {
        padding-left: 1rem !important;
        padding-right: 1rem !important;
        overflow-x: hidden;
      }
      .art-title {
        font-size: clamp(1.5rem, 7vw, 2rem) !important;
        overflow-wrap: break-word;
        word-break: break-word;
        hyphens: auto;
      }
      .art-content { overflow-x: hidden; }
      .art-content table { 
        display: block; 
        overflow-x: auto; 
        -webkit-overflow-scrolling: touch;
      }
    }
    .hero__video {
      position: absolute !important;
      inset: 0 !important;
      width: 100% !important;
      height: 100% !important;
      object-fit: cover !important;
    }
    .hero__bg--video {
      -webkit-transform: translateZ(0);
      transform: translateZ(0);
    }


.art-gallery-section {
    margin-top: 48px;
    padding-top: 24px;
    border-top: 1px solid #d9dee3;
}

.art-gallery-section .art-related__heading {
    margin: 0 0 20px;
    font-size: 2rem;
    line-height: 1.2;
    color: #111;
}

.art-gallery {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
}

.art-gallery__item {
    display: block;
    width: 100%;
    padding: 0;
    background: #fff;
    cursor: zoom-in;
    appearance: none;
    -webkit-appearance: none;
    text-align: left;
}

.art-gallery__item img {
    width: 100%;
    height: 220px;
    object-fit: contain;
}

.art-gallery__item:hover {
    border-color: #55707d;
}

.art-gallery__item:focus,
.art-gallery__item:focus-visible {
    outline: 3px solid #0b57d0;
    outline-offset: 2px;
    border-color: #0b57d0;
}

.lightbox[hidden] {
    display: none !important;
}

.lightbox {
    position: fixed;
    inset: 0;
    z-index: 9999;
    background: rgba(18, 24, 29, 0.96);
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.2s ease, visibility 0.2s ease;
}

.lightbox.is-open {
    opacity: 1;
    visibility: visible;
}


.lightbox__img {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    display: block;
    max-width: calc(100vw - 160px);
    max-height: calc(100vh - 170px);
    width: auto;
    height: auto;
    object-fit: contain;
    background: #111;
    border: 1px solid rgba(255, 255, 255, 0.18);
}


.lightbox__close,
.lightbox__nav {
    position: absolute;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 52px;
    height: 52px;
    border: 1px solid rgba(255, 255, 255, 0.35);
    background: rgba(0, 0, 0, 0.25);
    color: #fff;
    cursor: pointer;
    appearance: none;
    -webkit-appearance: none;
}

.lightbox__close:hover,
.lightbox__nav:hover {
    background: rgba(255, 255, 255, 0.08);
}

.lightbox__close:focus,
.lightbox__close:focus-visible,
.lightbox__nav:focus,
.lightbox__nav:focus-visible {
    outline: 3px solid #8ab4f8;
    outline-offset: 2px;
    border-color: #8ab4f8;
}

.lightbox__close {
    top: 20px;
    right: 20px;
}

.lightbox__prev {
    top: 50%;
    left: 20px;
    transform: translateY(-50%);
}

.lightbox__next {
    top: 50%;
    right: 20px;
    transform: translateY(-50%);
}


.lightbox__counter {
    position: absolute;
    top: 20px;
    left: 20px;
    margin: 0;
    padding: 8px 12px;
    background: rgba(0, 0, 0, 0.35);
    border: 1px solid rgba(255, 255, 255, 0.18);
    color: #fff;
    font-size: 14px;
    line-height: 1.2;
    font-weight: 700;
}


.lightbox__caption {
    position: absolute;
    left: 50%;
    bottom: 24px;
    transform: translateX(-50%);
    width: min(960px, calc(100vw - 40px));
    margin: 0;
    padding: 10px 14px;
    color: #fff;
    text-align: center;
    line-height: 1.5;
    background: rgba(0, 0, 0, 0.42);
    border: 1px solid rgba(255, 255, 255, 0.16);
}

@media (max-width: 1024px) {
    .art-gallery {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .lightbox__img {
        max-width: calc(100vw - 80px);
        max-height: calc(100vh - 180px);
    }
}

@media (max-width: 640px) {
    .art-gallery {
        grid-template-columns: 1fr;
    }

    .art-gallery__item img {
        height: auto;
        aspect-ratio: 4 / 3;
    }

    .lightbox__img {
        max-width: calc(100vw - 24px);
        max-height: calc(100vh - 150px);
    }

    .lightbox__close,
    .lightbox__nav {
        width: 44px;
        height: 44px;
    }

    .lightbox__close {
        top: 10px;
        right: 10px;
    }

    .lightbox__prev {
        left: 10px;
    }

    .lightbox__next {
        right: 10px;
    }

    .lightbox__counter {
        top: 10px;
        left: 10px;
    }

    .lightbox__caption {
        bottom: 12px;
        padding: 8px 12px;
        font-size: 14px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .lightbox,
    .art-gallery__item,
    .art-gallery__item img {
        transition: none !important;
    }

    html:focus-within {
        scroll-behavior: auto;
    }
}


@media (max-height: 850px) {
  .hero__body {
    align-items: flex-start;
    padding-bottom: 8rem;
    padding-top: 70px;
  }

  .hero__content {
    padding-top: 40px;
  }

  .hero__title {
    font-size: clamp(2.2rem, 4.8vw, 3.8rem);
    margin-bottom: 1.25rem;
  }

  .hero__subtitle {
    max-width: 70%;
  }

  .hero-strip-slot {
    bottom: 1rem;
  }
}

@media (min-width: 769px) and (max-width: 1024px) and (max-height: 800px) {
  .hero-group {
    display: flex !important;
    flex-direction: column !important;
    height: auto !important;
    min-height: auto !important;
    overflow: visible !important;
  }

  .hero-layer {
    position: relative !important;
    height: 52svh !important;
    min-height: 300px !important;
    flex-shrink: 0 !important;
    overflow: hidden !important;
  }

  .hero__body {
    position: absolute !important;
    inset: 0 !important;
    padding: 0 1.25rem !important;
    display: flex !important;
    align-items: flex-end !important;
    justify-content: flex-start !important;
    box-sizing: border-box !important;
  }

  .hero__content {
    padding-top: 0 !important;
    padding-bottom: 1rem !important;
    padding-left: 0 !important;
    width: 100% !important;
    max-width: 90% !important;
  }

  .hero__title {
    font-size: clamp(1.9rem, 5vw, 3rem) !important;
    line-height: 1.05 !important;
    margin-bottom: .625rem !important;
  }

  .hero__subtitle {
    font-size: clamp(.875rem, 1.8vw, 1rem) !important;
    line-height: 1.45 !important;
    max-width: 85% !important;
  }

  .hero-strip-slot {
    position: static !important;
    width: 100% !important;
    padding: 0 !important;
    pointer-events: auto !important;
    flex-shrink: 0 !important;
  }

  .news-strip {
    border-radius: 0 !important;
    border-left: none !important;
    border-right: none !important;
    max-width: 100% !important;
  }

  .news-strip__grid {
    grid-template-columns: 1fr !important;
  }

  .news-strip__item-wrap--sep::after {
    display: none !important;
  }

  .news-strip__item-wrap--sep {
    border-bottom: 1px solid rgba(255,255,255,.15) !important;
  }

  .hero-video-pause {
    bottom: 1rem !important;
    right: 1rem !important;
  }
}


.section-title-link {
  color: inherit;
  text-decoration: none;
}
.section-title-link:hover {
  text-decoration: none;
}

@media (max-width: 1050px) {
  .lightbox__img {
    max-width: calc(100vw - 24px);
    max-height: calc(100vh - 210px);
  }

  .lightbox__prev,
  .lightbox__next {
    top: auto;
    bottom: 22px;
    transform: none;
    width: 48px;
    height: 48px;
    z-index: 10001;
  }

  .lightbox__prev {
    left: calc(50% - 58px);
  }

  .lightbox__next {
    right: calc(50% - 58px);
  }

  .lightbox__close {
    top: 10px;
    right: 10px;
    z-index: 10002;
  }

  .lightbox__counter {
    top: 10px;
    left: 10px;
    z-index: 10002;
  }

  .lightbox__caption {
    display: none !important;
  }
}


@media (max-width: 480px) {
  .site-header,
  body.has-util-bar .site-header {
    top: 35px !important;
  }
}
