/* =========================================================
   CRI Template mobile redesign
   - creative branded mobile menu
   - creative sitemap accordion on mobile
   - targeted cleanup for offcanvas/footer conflicts
   ========================================================= */

html.cri-offcanvas-open,
body.cri-offcanvas-open {
  overflow: hidden;
}

body.cri-offcanvas-open {
  touch-action: none;
}

.body-overlay {
  z-index: 999990;
  background: rgba(3, 12, 29, 0.72) !important;
  -webkit-backdrop-filter: blur(8px);
  backdrop-filter: blur(8px);
}

.tpoffcanvas.cri-mobnav-panel {
  right: 0 !important;
  width: min(94vw, 430px);
  max-width: 100%;
  padding: 0 !important;
  opacity: 1 !important;
  visibility: visible !important;
  transform: translateX(104%);
  transition: transform 0.42s cubic-bezier(0.22, 1, 0.36, 1) !important;
  background:
    radial-gradient(circle at top right, rgba(255, 140, 0, 0.22), transparent 28%),
    radial-gradient(circle at 0% 30%, rgba(255,255,255,0.08), transparent 25%),
    linear-gradient(180deg, #043f3c 0%, #086863 52%, #026a65 100%);
  border-left: 1px solid rgba(255, 255, 255, 0.09);
  box-shadow: -28px 0 60px rgba(16, 93, 70, 0.38);
  overflow: hidden;
  scrollbar-width: none;
}

.tpoffcanvas.cri-mobnav-panel.opened {
  transform: translateX(0);
}

.tpoffcanvas.cri-mobnav-panel::-webkit-scrollbar {
  display: none;
}

.cri-mobnav-panel__inner {
  position: relative;
  height: 100%;
  overflow-y: auto;
  padding: 18px 18px 24px;
  scrollbar-width: none;
}

.cri-mobnav-panel__inner::-webkit-scrollbar {
  display: none;
}

.cri-mobnav-panel__hero {
  position: relative;
  overflow: hidden;
  margin-bottom: 18px;
  padding: 16px;
  border-radius: 24px;
  border: 1px solid rgba(255,255,255,0.10);
  background:
    linear-gradient(180deg, rgba(255,255,255,0.11) 0%, rgba(255,255,255,0.04) 100%);
  box-shadow: 0 20px 40px rgba(0,0,0,0.20);
}

.cri-mobnav-panel__hero::before,
.cri-mobnav-panel__hero::after {
  content: "";
  position: absolute;
  border-radius: 999px;
  pointer-events: none;
}

.cri-mobnav-panel__hero::before {
  width: 120px;
  height: 120px;
  top: -45px;
  right: -25px;
  background: rgba(255, 140, 0, 0.20);
  filter: blur(8px);
}

.cri-mobnav-panel__hero::after {
  width: 90px;
  height: 90px;
  bottom: -30px;
  left: -18px;
  background: rgba(255,255,255,0.07);
  filter: blur(10px);
}

.cri-mobnav-panel__top {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 14px;
}

.cri-mobnav-panel__brand {
  display: inline-flex;
  align-items: center;
  min-width: 0;
}

.cri-mobnav-panel__brand img {
  max-width: 190px;
  height: auto;
}

.tpoffcanvas.cri-mobnav-panel .tpoffcanvas__close-btn {
  position: static;
  margin: 0;
  padding: 0;
  background: transparent;
}

.tpoffcanvas.cri-mobnav-panel .tpoffcanvas__close-btn button {
  position: static;
  width: 42px;
  height: 42px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.08);
  color: #fff;
  box-shadow: none;
}

.tpoffcanvas.cri-mobnav-panel .tpoffcanvas__close-btn button:hover {
  background: #ff8c00;
  border-color: #ff8c00;
}

.cri-mobnav-panel__intro,
.cri-mobnav-panel__actions,
.cri-mobnav-panel__menuwrap,
.cri-mobnav-panel__foot {
  position: relative;
  z-index: 1;
}

.cri-mobnav-panel__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 8px;
  padding: 6px 10px;
  border-radius: 999px;
  background: rgba(255,255,255,0.08);
  color: rgba(255,255,255,0.76);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}

.cri-mobnav-panel__intro h4 {
  margin: 0 0 10px;
  color: #fff;
  font-size: 24px;
  line-height: 1.15;
}

.cri-mobnav-panel__intro p {
  margin: 0;
  color: rgba(255,255,255,0.78);
  font-size: 14px;
  line-height: 1.65;
}

.cri-mobnav-panel__actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin-top: 16px;
}

.cri-mobnav-panel__action {
  min-height: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 12px 14px;
  border-radius: 16px;
  border: 1px solid rgba(255,255,255,0.11);
  background: linear-gradient(180deg, rgba(255,140,0,0.95) 0%, rgba(243,120,0,0.95) 100%);
  color: #fff;
  font-size: 14px;
  font-weight: 700;
  text-decoration: none;
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}

.cri-mobnav-panel__action--alt {
  background: rgba(255,255,255,0.08);
}

.cri-mobnav-panel__action:hover {
  color: #fff;
  transform: translateY(-2px);
  box-shadow: 0 10px 22px rgba(0,0,0,0.20);
}

.cri-mobnav-panel__menuwrap {
  margin-bottom: 16px;
  padding: 12px;
  border-radius: 24px;
  border: 1px solid rgba(255,255,255,0.09);
  background: rgba(5, 16, 33, 0.42);
}

.cri-mobnav-panel__section-title,
.cri-mobnav-panel__title {
  margin-bottom: 10px;
  color: rgba(255,255,255,0.74);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}

.cri-mobnav {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.cri-mobnav__direct,
.cri-mobnav__group,
.cri-mobnav__subgroup {
  border: 1px solid rgba(255,255,255,0.09);
  background: linear-gradient(180deg, rgba(255,255,255,0.08), rgba(255,255,255,0.03));
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.04);
}

.cri-mobnav__direct,
.cri-mobnav__group {
  border-radius: 18px;
}

.cri-mobnav__subgroup {
  border-radius: 14px;
}

.cri-mobnav__link,
.cri-mobnav__summary,
.cri-mobnav__subsummary {
  position: relative;
  display: flex;
  align-items: center;
  gap: 12px;
  width: 100%;
  min-height: 58px;
  padding: 14px 16px;
  color: #fff;
  text-decoration: none;
  cursor: pointer;
  list-style: none;
}

.cri-mobnav__summary,
.cri-mobnav__subsummary {
  padding-right: 54px;
}

.cri-mobnav__summary::-webkit-details-marker,
.cri-mobnav__subsummary::-webkit-details-marker {
  display: none;
}

.cri-mobnav__index {
  flex: 0 0 auto;
  width: 34px;
  height: 34px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 12px;
  background: rgba(255,140,0,0.18);
  color: #ffb14f;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.05em;
}

.cri-mobnav__text {
  flex: 1 1 auto;
  min-width: 0;
  color: #fff;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.45;
  word-break: break-word;
}

.cri-mobnav__count {
  position: absolute;
  right: 42px;
  top: 50%;
  transform: translateY(-50%);
  min-width: 28px;
  height: 28px;
  padding: 0 8px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  background: rgba(255,255,255,0.08);
  color: rgba(255,255,255,0.85);
  font-size: 11px;
  font-style: normal;
  font-weight: 700;
}

.cri-mobnav__summary::after,
.cri-mobnav__subsummary::after {
  content: "\f105";
  font-family: "Font Awesome 5 Pro";
  font-weight: 300;
  position: absolute;
  right: 16px;
  top: 50%;
  transform: translateY(-50%);
  color: rgba(255,255,255,0.78);
  transition: transform .25s ease;
}

.cri-mobnav__group[open] > .cri-mobnav__summary::after,
.cri-mobnav__subgroup[open] > .cri-mobnav__subsummary::after {
  transform: translateY(-50%) rotate(90deg);
}

.cri-mobnav__group[open],
.cri-mobnav__subgroup[open],
.cri-mobnav__direct:hover {
  border-color: rgba(255,140,0,0.42);
}

.cri-mobnav__group[open] > .cri-mobnav__summary,
.cri-mobnav__subgroup[open] > .cri-mobnav__subsummary,
.cri-mobnav__direct:hover,
.cri-mobnav__leaf:hover {
  background: linear-gradient(180deg, rgba(255,140,0,0.14), rgba(255,140,0,0.04));
  color: #fff;
}

.cri-mobnav__submenu,
.cri-mobnav__subsubmenu {
  display: grid;
  gap: 10px;
  padding: 0 12px 12px;
}

.cri-mobnav__subsubmenu {
  padding-top: 0;
}

.cri-mobnav__leaf {
  min-height: 48px;
  padding: 12px 14px;
  border-radius: 14px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.06);
}

.cri-mobnav__direct span::after,
.cri-mobnav__leaf span::after {
  content: "\f061";
  font-family: "Font Awesome 5 Pro";
  font-weight: 300;
  margin-left: 10px;
  color: rgba(255,255,255,0.58);
  transition: transform .25s ease, color .25s ease;
}

.cri-mobnav__direct:hover span::after,
.cri-mobnav__leaf:hover span::after {
  transform: translateX(3px);
  color: #ffb14f;
}

.cri-mobnav-panel__foot {
  display: grid;
  gap: 12px;
}

.cri-mobnav-panel__contact {
  padding: 14px;
  border-radius: 22px;
  border: 1px solid rgba(255,255,255,0.09);
  background: rgba(255,255,255,0.05);
}

.cri-mobnav-panel__contact ul {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 10px;
}

.cri-mobnav-panel__contact li {
  margin: 0;
}

.cri-mobnav-panel__contact a {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  min-width: 0;
  color: rgba(255,255,255,0.84);
  text-decoration: none;
  font-size: 13px;
  line-height: 1.55;
}

.cri-mobnav-panel__contact a i {
  width: 18px;
  margin-top: 2px;
  color: #ffb14f;
  text-align: center;
}

.cri-mobnav-panel__social {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.cri-mobnav-panel__social a {
  width: 46px;
  height: 46px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 15px;
  border: 1px solid rgba(255,255,255,0.09);
  background: rgba(255,255,255,0.06);
  color: #fff;
}

.cri-mobnav-panel__social a:hover {
  color: #fff;
  background: #ff8c00;
  border-color: #ff8c00;
}

.tpoffcanvas.cri-mobnav-panel .tp-main-menu-mobile,
.tpoffcanvas.cri-mobnav-panel .tpoffcanvas__logo,
.tpoffcanvas.cri-mobnav-panel .tpoffcanvas__title,
.tpoffcanvas.cri-mobnav-panel .tpoffcanvas__contact-info,
.tpoffcanvas.cri-mobnav-panel .tpoffcanvas__input,
.tpoffcanvas.cri-mobnav-panel .tpoffcanvas__social {
  display: none !important;
}

.cri-sitemap-title__meta,
.cri-sitemap-title__count {
  display: none;
}

@media (max-width: 767px) {
  .cri-footer-sitemap-wrap {
    padding-top: 36px !important;
    padding-bottom: 24px !important;
  }

  .cri-mobile-sitemap-ready .cri-sitemap-row {
    gap: 12px;
  }

  .cri-mobile-sitemap-ready .cri-sitemap-col,
  .cri-mobile-sitemap-ready .cri-sitemap-col-lg {
    width: 100%;
    max-width: 100%;
    flex: 0 0 100%;
  }

  .cri-mobile-sitemap-ready .cri-sitemap-box {
    position: relative;
    padding: 0;
    overflow: hidden;
    border-radius: 22px;
    border: 1px solid rgba(255,255,255,0.10);
    background:
      radial-gradient(circle at top right, rgba(255, 140, 0, 0.16), transparent 34%),
      linear-gradient(180deg, rgba(255,255,255,0.08), rgba(255,255,255,0.03));
    box-shadow: 0 18px 34px rgba(0,0,0,0.16);
    transform: none !important;
  }

  .cri-mobile-sitemap-ready .cri-sitemap-box > .cri-sitemap-title {
    position: relative;
    margin: 0;
    min-height: 68px;
    padding: 14px 54px 14px 14px;
    display: flex;
    align-items: center;
    gap: 12px;
    cursor: pointer;
    font-size: 15px;
    line-height: 1.35;
  }

  .cri-mobile-sitemap-ready .cri-sitemap-box > .cri-sitemap-title::before {
    display: none;
  }

  .cri-mobile-sitemap-ready .cri-sitemap-box > .cri-sitemap-title::after {
    content: "\f107";
    font-family: "Font Awesome 5 Pro";
    font-weight: 300;
    position: absolute;
    right: 16px;
    top: 50%;
    transform: translateY(-50%);
    color: rgba(255,255,255,0.9);
    transition: transform .25s ease;
  }

  .cri-mobile-sitemap-ready .cri-sitemap-box.is-open > .cri-sitemap-title::after {
    transform: translateY(-50%) rotate(180deg);
  }

  .cri-mobile-sitemap-ready .cri-sitemap-box > .cri-sitemap-title .cri-sitemap-title__meta,
  .cri-mobile-sitemap-ready .cri-sitemap-box > .cri-sitemap-title .cri-sitemap-title__count {
    display: inline-flex;
  }

  .cri-mobile-sitemap-ready .cri-sitemap-title__meta {
    flex: 0 0 auto;
  }

  .cri-mobile-sitemap-ready .cri-sitemap-title__index {
    width: 36px;
    height: 36px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 13px;
    background: rgba(255,140,0,0.18);
    color: #ffb14f;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.05em;
  }

  .cri-mobile-sitemap-ready .cri-sitemap-title__text {
    flex: 1 1 auto;
    min-width: 0;
  }

  .cri-mobile-sitemap-ready .cri-sitemap-title__count {
    position: absolute;
    right: 44px;
    top: 50%;
    transform: translateY(-50%);
    min-width: 30px;
    height: 28px;
    padding: 0 8px;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    background: rgba(255,255,255,0.08);
    color: rgba(255,255,255,0.86);
    font-size: 11px;
    font-weight: 700;
  }

  .cri-mobile-sitemap-ready .cri-sitemap-box > .cri-sitemap-panel {
    display: none;
    padding: 0 14px 14px;
  }

  .cri-mobile-sitemap-ready .cri-sitemap-box.is-open > .cri-sitemap-panel {
    display: block;
  }

  .cri-mobile-sitemap-ready .cri-sitemap-list,
  .cri-mobile-sitemap-ready .cri-sitemap-sublist {
    margin: 0;
    padding: 0;
    list-style: none;
    display: grid;
    gap: 8px;
  }

  .cri-mobile-sitemap-ready .cri-sitemap-list li,
  .cri-mobile-sitemap-ready .cri-sitemap-sublist li {
    margin: 0;
    padding: 0;
    border: 0;
  }

  .cri-mobile-sitemap-ready .cri-sitemap-list li::before,
  .cri-mobile-sitemap-ready .cri-sitemap-sublist li::before {
    display: none;
  }

  .cri-mobile-sitemap-ready .cri-sitemap-list a,
  .cri-mobile-sitemap-ready .cri-sitemap-sublist a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    min-height: 46px;
    padding: 11px 14px;
    border-radius: 14px;
    border: 1px solid rgba(255,255,255,0.07);
    background: rgba(255,255,255,0.04);
    color: rgba(255,255,255,0.88);
    font-size: 13px;
    line-height: 1.45;
    text-decoration: none;
  }

  .cri-mobile-sitemap-ready .cri-sitemap-list a::after,
  .cri-mobile-sitemap-ready .cri-sitemap-sublist a::after {
    content: "\f061";
    font-family: "Font Awesome 5 Pro";
    font-weight: 300;
    color: rgba(255,255,255,0.58);
    transition: transform .25s ease, color .25s ease;
  }

  .cri-mobile-sitemap-ready .cri-sitemap-list a:hover,
  .cri-mobile-sitemap-ready .cri-sitemap-sublist a:hover {
    color: #fff;
    background: rgba(255,140,0,0.13);
    border-color: rgba(255,140,0,0.28);
  }

  .cri-mobile-sitemap-ready .cri-sitemap-list a:hover::after,
  .cri-mobile-sitemap-ready .cri-sitemap-sublist a:hover::after {
    transform: translateX(3px);
    color: #ffb14f;
  }

  .cri-mobile-sitemap-ready .cri-sitemap-panel--grid {
    display: grid;
    gap: 10px;
  }

  .cri-mobile-sitemap-ready .cri-sitemap-subcol {
    width: 100%;
    max-width: 100%;
    flex: 0 0 100%;
    padding: 0;
  }

  .cri-mobile-sitemap-ready .cri-sitemap-subheading {
    display: inline-flex;
    align-items: center;
    margin-bottom: 10px;
    padding: 6px 10px;
    border-radius: 999px;
    background: rgba(255,255,255,0.08);
    color: rgba(255,255,255,0.84) !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    text-decoration: none;
  }
}

@media (max-width: 575px) {
  .tpoffcanvas.cri-mobnav-panel {
    width: 100%;
  }

  .cri-mobnav-panel__inner {
    padding: 14px 14px 22px;
  }

  .cri-mobnav-panel__brand img {
    max-width: 164px;
  }

  .cri-mobnav-panel__intro h4 {
    font-size: 22px;
  }

  .cri-mobnav-panel__actions {
    grid-template-columns: 1fr;
  }
}


  @media (max-width: 1199px) {
  body.cri-inner-mobile-header .tp-header-height {
    height: auto !important;
  }

  body.cri-inner-mobile-header .cri-neo-topbar {
    display: none !important;
  }

  body.cri-inner-mobile-header #header-sticky.tp-header-area {
    position: fixed !important;
    top: 0;
    left: 0;
    right: 0;
    z-index: 999;
    min-height: 76px !important;
    height: 76px !important;
    padding: 0 !important;
    background: rgba(255, 255, 255, 0.96) !important;
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    box-shadow: 0 10px 30px rgba(14, 53, 49, 0.12);
    border-bottom: 1px solid rgba(14, 53, 49, 0.08);
  }

  body.cri-inner-mobile-header #header-sticky .container-fluid,
  body.cri-inner-mobile-header #header-sticky .row {
    height: 76px !important;
  }

  body.cri-inner-mobile-header .tp-header-logo a {
    display: inline-flex;
    align-items: center;
  }

  body.cri-inner-mobile-header .tp-header-logo img {
    max-height: 54px !important;
    width: auto !important;
  }

  body.cri-inner-mobile-header .tp-header-right-btn {
    display: none !important;
  }

  body.cri-inner-mobile-header .tp-header-bar {
    display: flex !important;
    justify-content: flex-end;
    align-items: center;
  }

  body.cri-inner-mobile-header .tp-menu-bar {
    width: 46px;
    height: 46px;
    border: 0;
    border-radius: 16px;
    background: linear-gradient(135deg, #19443f 0%, #0e3531 100%);
    color: #fff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 12px 26px rgba(14, 53, 49, 0.22);
  }

  body.cri-inner-mobile-header .tp-menu-bar i {
    color: #fff;
    font-size: 22px;
    line-height: 1;
  }

  body.cri-inner-mobile-header main {
    padding-top: 76px;
  }
}

@media (max-width: 575px) {
  body.cri-inner-mobile-header #header-sticky.tp-header-area {
    min-height: 70px !important;
    height: 70px !important;
  }

  body.cri-inner-mobile-header #header-sticky .container-fluid,
  body.cri-inner-mobile-header #header-sticky .row {
    height: 70px !important;
  }

  body.cri-inner-mobile-header .tp-header-logo img {
    max-height: 48px !important;
  }

  body.cri-inner-mobile-header .tp-menu-bar {
    width: 42px;
    height: 42px;
    border-radius: 14px;
  }

  body.cri-inner-mobile-header main {
    padding-top: 70px;
  }
}








/* =========================================================
   FIX FOR SHORT DESKTOP SCREENS
   Example: 1440 x 608
   Keep desktop design, only make it compact vertically
========================================================= */

/* =========================================================
   DESKTOP HEADER MENU SPACE
   Keep the full desktop menu on one line from 1200px up.
========================================================= */

@media (min-width: 1200px) {
  #header-sticky .row.align-items-center {
    flex-wrap: nowrap;
  }

  #header-sticky .col-xl-2:first-child,
  #header-sticky .col-xxl-2:first-child {
    flex: 0 0 13%;
    max-width: 13%;
  }

  #header-sticky .col-xl-8,
  #header-sticky .col-xxl-8 {
    flex: 1 1 auto;
    width: auto;
    max-width: none;
    min-width: 0;
  }

  #header-sticky .col-xl-2:last-child,
  #header-sticky .col-xxl-2:last-child {
    flex: 0 0 142px;
    max-width: 142px;
  }

  .tp-header-menu,
  .tp-main-menu-content,
  .tp-main-menu-content > ul {
    min-width: 0;
  }

  .tp-header-menu nav > ul {
    justify-content: center;
    gap: 12px;
  }

  .tp-header-menu nav > ul > li {
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  .tp-header-menu nav > ul > li > a {
    white-space: nowrap !important;
    letter-spacing: 0 !important;
  }

  .tp-header-menu nav > ul > li.cri-investor-path-menu > a {
    max-width: none;
    white-space: nowrap !important;
    line-height: 1;
    text-align: left;
    padding-right: 0 !important;
  }

  .tp-header-menu nav > ul > li.cri-investor-path-menu > a::after {
    position: static;
    margin-top: -3px;
    transform: rotate(45deg);
  }

  .tp-header-right-btn {
    margin-left: 0 !important;
  }

  .tp-header-right-btn .tp-btn {
    padding-left: 13px !important;
    padding-right: 13px !important;
  }
}

@media (min-width: 1200px) and (max-width: 1399.98px) {
  .tp-header-plr {
    padding-left: 14px;
    padding-right: 14px;
  }

  #header-sticky .col-xl-2:first-child,
  #header-sticky .col-xxl-2:first-child {
    flex-basis: 10%;
    max-width: 10%;
  }

  #header-sticky .col-xl-2:last-child,
  #header-sticky .col-xxl-2:last-child {
    flex-basis: 52px;
    max-width: 52px;
  }

  .tp-header-logo img {
    max-height: 44px !important;
  }

  .tp-header-menu nav > ul > li {
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  .tp-header-menu nav > ul > li > a {
    font-size: 12px !important;
  }

  .tp-header-menu nav > ul > li.has-dropdown > a {
    padding-right: 0 !important;
  }

  .tp-main-menu-content > ul > li.has-dropdown > a::after {
    flex: 0 0 auto;
  }

  .tp-header-right-btn .tp-btn {
    width: 42px !important;
    height: 36px !important;
    line-height: 36px !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    font-size: 12px !important;
  }

  .tp-header-right-btn .search-open-btn {
    width: 100%;
    font-size: 0 !important;
  }

  .tp-header-right-btn .search-open-btn i {
    font-size: 16px !important;
    margin: 0 !important;
  }
}

@media (min-width: 1400px) and (max-width: 1599.98px) {
  .tp-header-plr {
    padding-left: 18px;
    padding-right: 18px;
  }

  #header-sticky .col-xl-2:first-child,
  #header-sticky .col-xxl-2:first-child {
    flex-basis: 12%;
    max-width: 12%;
  }

  .tp-header-menu nav > ul > li > a {
    font-size: 12.4px !important;
  }

  .tp-header-right-btn .tp-btn {
    width: 132px !important;
    padding-left: 12px !important;
    padding-right: 12px !important;
  }
}

@media (min-width: 1200px) and (max-width: 1499.98px) and (max-height: 680px) {

  html,
  body {
    overflow-x: hidden !important;
  }

  body.cri-snap-page {
    --cri-header-offset: 68px !important;
  }

  /* ================= HEADER ================= */

  .cri-neo-topbar {
    min-height: 34px !important;
  }

  .cri-neo-topbar__inner {
    min-height: 34px !important;
    padding: 0 16px !important;
  }

  .cri-neo-topbar__nav {
    gap: 5px !important;
  }

  .cri-neo-topbar__link {
    min-height: 26px !important;
    padding: 4px 11px !important;
    font-size: 12.5px !important;
  }

  #header-sticky.tp-header-area {
    min-height: 62px !important;
  }

  #header-sticky .container-fluid,
  #header-sticky .row {
    min-height: 62px !important;
  }

  .tp-header-logo img {
    max-height: 42px !important;
    width: auto !important;
  }

  .tp-header-menu nav > ul > li {
    margin: 0 !important;
    margin-right: 15px !important;
  }

  .tp-header-menu nav > ul > li > a {
    padding-top: 18px !important;
    padding-bottom: 18px !important;
    font-size: 12px !important;
    white-space: nowrap !important;
  }

  .tp-header-menu nav > ul > li.has-dropdown > a {
    padding-right: 0 !important;
  }

  .tp-header-right-btn {
    margin-left: 8px !important;
  }

  .tp-header-right-btn .tp-btn {
    width: 42px !important;
    height: 34px !important;
    line-height: 34px !important;
    padding: 0 !important;
  }

  .tp-header-right-btn .search-open-btn {
    width: 100%;
    font-size: 0 !important;
  }

  .tp-header-right-btn .search-open-btn i {
    font-size: 16px !important;
    margin: 0 !important;
  }

  /* ================= GLOBAL SNAP SECTIONS ================= */

  body.cri-snap-page .cri-fullscreen-section,
  body.cri-snap-page footer.cri-fullscreen-section {
    min-height: 100svh !important;
    overflow: hidden !important;
  }

  body.cri-snap-page .tp-section-subtitle {
    margin-bottom: 6px !important;
    font-size: 13px !important;
  }

  body.cri-snap-page .tp-section-title {
    font-size: clamp(22px, 2vw, 30px) !important;
    line-height: 1.05 !important;
  }

  body.cri-snap-page .cri-snap-dots {
    right: 10px !important;
    transform: translateY(-50%) scale(0.82) !important;
    transform-origin: right center !important;
  }

  /* ================= HERO ================= */

  body.cri-snap-page .cri-fullscreen-section--hero .tp-slider-content-wrap {
    padding-top: 120px !important;
    padding-bottom: 24px !important;
  }

  body.cri-snap-page .cri-fullscreen-section--hero .tp-slider-title {
    font-size: clamp(34px, 4vw, 52px) !important;
    line-height: 0.98 !important;
  }

  body.cri-snap-page .cri-fullscreen-section--hero .tp-slider-title2 {
    font-size: clamp(30px, 3.6vw, 48px) !important;
    line-height: 1 !important;
  }

  body.cri-snap-page .cri-fullscreen-section--hero .tp-slider-btn .tp-btn-xl {
    min-height: 44px !important;
    line-height: 44px !important;
    padding: 0 22px !important;
  }

  /* ================= ABOUT SECTION ================= */

  .cri-about-fs {
    height: 100svh !important;
    min-height: 100svh !important;
    padding-top: 6px !important;
  }

  .cri-about-fs__eyebrow {
    padding: 4px 48px 0 !important;
  }

  .cri-about-fs__body {
    grid-template-columns: minmax(315px, 350px) minmax(400px, 1fr) minmax(255px, 310px) !important;
    gap: 14px !important;
    padding: 4px 56px 18px !important;
  }

  .cri-about-fs__left {
    padding: 18px 21px !important;
    gap: 9px !important;
    border-radius: 22px !important;
  }

  .cri-about-fs__heading {
    gap: 11px !important;
  }

  .cri-about-fs__years .num,
  .cri-about-fs__years .word {
    font-size: 42px !important;
    line-height: 0.9 !important;
  }

  /* .cri-about-fs__tagline {
    margin-top: 7px !important;
    font-size: 18px !important;
    line-height: 1.12 !important;
  } */

  .cri-about-fs__mission {
    font-size: 12.6px !important;
    line-height: 1.24 !important;
  }

  .cri-about-fs__list {
    gap: 5px !important;
  }

  .cri-about-fs__list li {
    padding-left: 16px !important;
    font-size: 11.6px !important;
    line-height: 1.2 !important;
  }

  .cri-about-fs__list li::before {
    top: 5px !important;
    width: 5px !important;
    height: 5px !important;
    box-shadow: 0 0 0 3px rgba(255, 255, 255, 0.16) !important;
  }

  .cri-about-fs__center {
    padding: 10px 14px !important;
    border-radius: 22px !important;
  }

  .cri-about-fs__map-wrap {
    padding: 0 12px 2px !important;
  }

  .cri-about-map {
    max-width: 460px !important;
  }

  .cri-about-map__tag {
    min-width: 105px !important;
    padding: 6px 8px !important;
    font-size: 10px !important;
  }

  .cri-about-fs__region-label {
    margin-bottom: 5px !important;
  }

  .cri-about-fs__region-label span {
    padding: 5px 10px !important;
    font-size: 9px !important;
    letter-spacing: 0.08em !important;
  }

  .cri-about-fs__newsletter {
    grid-template-columns: 36px 1fr !important;
    gap: 9px !important;
    padding: 8px 10px !important;
    border-radius: 14px !important;
  }

  .cri-about-fs__newsletter-icon {
    width: 36px !important;
    height: 36px !important;
    border-radius: 12px !important;
    font-size: 14px !important;
  }

  .cri-about-fs__newsletter-content p {
    margin-bottom: 5px !important;
    font-size: 11px !important;
    line-height: 1.2 !important;
  }

  .cri-about-fs__newsletter-form input,
  .cri-about-fs__newsletter-form button {
    height: 31px !important;
    font-size: 11px !important;
  }

  .cri-about-fs__right,
  .cri-about-fs__photo {
    border-radius: 22px !important;
  }

  .cri-about-fs__photo img,
  .cri-about-fs__photo video {
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    object-fit: cover !important;
    display: block !important;
  }

  .cri-about-fs__photo-social {
    padding: 10px 14px 12px !important;
  }

  .cri-about-fs__photo-social-label {
    margin-bottom: 6px !important;
    font-size: 10px !important;
  }

  .cri-about-fs__social {
    gap: 8px !important;
  }

  .cri-about-fs__social a {
    width: 32px !important;
    height: 32px !important;
    font-size: 12px !important;
  }

  /* ================= PARCOURS SECTION ================= */

  .cri-path-modern-section .container,
  .cri-path-modern-section .custom-container {
    padding-left: 50px !important;
    padding-right: 50px !important;
  }

  .cri-path-modern {
    min-height: calc(100svh - 68px) !important;
    padding: 14px 0 18px !important;
  }

  .cri-path-modern .tp-event-title-wrap {
    margin-bottom: 12px !important;
  }

  .cri-path-modern__track {
    gap: 18px !important;
  }

  .cri-path-modern__item {
    height: 248px !important;
  }

  .cri-path-modern__item:not(:last-child)::after {
    right: -15px !important;
    width: 13px !important;
    height: 24px !important;
  }

  .cri-path-modern__icon {
    width: 56px !important;
    height: 56px !important;
    top: 43% !important;
  }

  .cri-path-modern__icon img {
    width: 50px !important;
    height: 50px !important;
  }

  .cri-path-modern__compact {
    bottom: 16px !important;
  }

  .cri-path-modern__compact h5 {
    font-size: 14px !important;
  }

  .cri-path-modern__details {
    padding: 13px 11px 11px !important;
  }

  .cri-path-modern__details-top {
    grid-template-columns: 34px minmax(0, 1fr) !important;
    column-gap: 8px !important;
    margin-bottom: 8px !important;
  }

  .cri-path-modern__details-icon {
    width: 32px !important;
    height: 32px !important;
  }

  .cri-path-modern__details-text h5 {
    font-size: 14.5px !important;
  }

  .cri-path-modern__details-text p {
    font-size: 10.8px !important;
    line-height: 1.18 !important;
  }

  .cri-path-modern__links {
    gap: 5px !important;
  }

  .cri-path-modern__links a {
    min-height: 22px !important;
    max-width: 130px !important;
    padding: 5px 8px !important;
    font-size: 10.5px !important;
  }

  /* ================= ACTUALITES SECTION ================= */

  body.cri-snap-page .cri-fullscreen-section--event {
    padding-top: 18px !important;
    padding-bottom: 14px !important;
  }

  body.cri-snap-page .cri-fullscreen-section--event .tp-event-title-wrap {
    margin-bottom: 10px !important;
  }

  body.cri-snap-page .cri-fullscreen-section--event .row.g-4 {
    --bs-gutter-x: 14px !important;
    --bs-gutter-y: 14px !important;
  }

  body.cri-snap-page .cri-fullscreen-section--event .cri-latest-card {
    padding: 13px 14px 12px !important;
    border-radius: 18px !important;
  }

  body.cri-snap-page .cri-fullscreen-section--event .cri-latest-card__head {
    margin-bottom: 9px !important;
  }

  body.cri-snap-page .cri-fullscreen-section--event .cri-latest-card__title {
    font-size: 18px !important;
  }

  body.cri-snap-page .cri-fullscreen-section--event .cri-news-list {
    gap: 8px !important;
  }

  body.cri-snap-page .cri-fullscreen-section--event .cri-news-item {
    grid-template-columns: 58px minmax(0, 1fr) 56px !important;
    gap: 9px !important;
    padding: 7px !important;
    border-radius: 12px !important;
  }

  body.cri-snap-page .cri-fullscreen-section--event .cri-news-item__thumb {
    width: 58px !important;
    height: 58px !important;
    border-radius: 10px !important;
  }

  body.cri-snap-page .cri-fullscreen-section--event .cri-news-item__title {
    font-size: 12.5px !important;
    line-height: 1.24 !important;
    margin-bottom: 3px !important;
  }

  body.cri-snap-page .cri-fullscreen-section--event .cri-news-item__meta {
    font-size: 10.5px !important;
  }

  body.cri-snap-page .cri-fullscreen-section--event .cri-news-item__action a {
    font-size: 9px !important;
    max-width: 42px !important;
  }

  body.cri-snap-page .cri-fullscreen-section--event .cri-pub-grid {
    gap: 10px !important;
    margin-bottom: 10px !important;
  }

  body.cri-snap-page .cri-fullscreen-section--event .cri-pub-item,
  body.cri-snap-page .cri-fullscreen-section--event .cri-pub-item img {
    min-height: 205px !important;
    height: 205px !important;
  }

  body.cri-snap-page .cri-fullscreen-section--event .cri-latest-card__footer {
    margin-top: 10px !important;
  }

  body.cri-snap-page .cri-fullscreen-section--event .cri-latest-btn {
    height: 36px !important;
    padding: 0 14px !important;
    font-size: 11px !important;
    border-radius: 10px !important;
  }
}



/* =========================================================
   FINAL FIX - À PROPOS SHORT DESKTOP
   1200px -> 1499.98px / height <= 680px
   Fix header overlap + remove green next section
========================================================= */
@media (min-width: 1200px) and (max-width: 1499.98px) and (max-height: 680px) {

  body.cri-snap-page {
    --cri-about-header-h: 88px;   /* height of fixed menu */
    --cri-about-title-h: 42px;
  }

  /* IMPORTANT: do not subtract header from section height */
  body.cri-snap-page .cri-fullscreen-section--about,
  body.cri-snap-page .cri-about-fs {
    height: 100dvh !important;
    min-height: 100dvh !important;
    max-height: 100dvh !important;
    padding-top: var(--cri-about-header-h) !important;
    padding-bottom: 40px !important;
    /* padding-bottom: 0 !important; */
    overflow: hidden !important;
    box-sizing: border-box !important;
    display: flex !important;
    flex-direction: column !important;
  }

  /* Title visible under menu */
  .cri-about-fs__eyebrow {
    flex: 0 0 var(--cri-about-title-h) !important;
    height: var(--cri-about-title-h) !important;
    padding: 0 48px !important;
    margin: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
  }

  .cri-about-fs__eyebrow .tp-section-subtitle {
    margin: 0 !important;
    font-size: 14px !important;
    line-height: 1 !important;
  }

  /* Body takes all remaining height */
  .cri-about-fs__body {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    height: auto !important;
    max-height: none !important;
    overflow: hidden !important;

    grid-template-columns: minmax(320px, 365px) minmax(430px, 1fr) minmax(285px, 330px) !important;
    gap: 18px !important;
    padding: 0 58px 18px !important;
    align-items: stretch !important;
  }

  .cri-about-fs__left,
  .cri-about-fs__center,
  .cri-about-fs__right {
    height: 100% !important;
    min-height: 0 !important;
    max-height: 100% !important;
    overflow: hidden !important;
  }

  /* LEFT */
  .cri-about-fs__left {
    padding: 20px 26px !important;
    gap: 8px !important;
    border-radius: 24px !important;
  }

  .cri-about-fs__heading {
    gap: 14px !important;
    align-items: flex-start !important;
  }

  .cri-about-fs__years .num,
  .cri-about-fs__years .word {
    font-size: 44px !important;
    line-height: 0.88 !important;
  }

  .cri-about-fs__tagline {
    margin: 3px 0 0 !important;
    font-size: 23px !important;
    line-height: 1.05 !important;
  }

  .cri-about-fs__divider {
    margin: 3px 0 5px !important;
  }

  .cri-about-fs__mission {
    margin: 0 0 5px !important;
    font-size: 13px !important;
    line-height: 1.24 !important;
  }

  .cri-about-fs__list {
    gap: 5px !important;
    margin: 0 !important;
  }

  .cri-about-fs__list li {
    padding-left: 18px !important;
    font-size: 12px !important;
    line-height: 1.2 !important;
  }

  .cri-about-fs__list li::before {
    top: 5px !important;
    width: 6px !important;
    height: 6px !important;
  }

  /* CENTER */
  .cri-about-fs__center {
    padding: 14px 18px !important;
    border-radius: 24px !important;
    display: flex !important;
    flex-direction: column !important;
  }

  .cri-about-fs__map-wrap {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    padding: 0 12px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
  }

  .cri-about-map {
    width: 100% !important;
    max-width: 470px !important;
  }

  .cri-about-map__img {
    width: 100% !important;
    max-height: 310px !important;
    object-fit: contain !important;
  }

  .cri-about-fs__region-label {
    flex: 0 0 auto !important;
    margin: 3px 0 7px !important;
  }

  .cri-about-fs__region-label span {
    padding: 6px 14px !important;
    font-size: 9.5px !important;
  }

  .cri-about-fs__newsletter {
    flex: 0 0 auto !important;
    grid-template-columns: 38px minmax(0, 1fr) !important;
    gap: 10px !important;
    padding: 9px 12px !important;
    border-radius: 15px !important;
  }

  .cri-about-fs__newsletter-icon {
    width: 38px !important;
    height: 38px !important;
    font-size: 15px !important;
  }

  .cri-about-fs__newsletter-content p {
    margin: 0 0 6px !important;
    font-size: 11.2px !important;
    line-height: 1.2 !important;
  }

  .cri-about-fs__newsletter-form {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    gap: 8px !important;
  }

  .cri-about-fs__newsletter-form input,
  .cri-about-fs__newsletter-form button {
    height: 32px !important;
    font-size: 11px !important;
  }

  .cri-about-fs__newsletter-form button {
    min-width: 110px !important;
    padding: 0 14px !important;
    white-space: nowrap !important;
  }

  /* RIGHT */
  .cri-about-fs__right {
    border-radius: 24px !important;
    display: flex !important;
    flex-direction: column !important;
  }

  .cri-about-fs__photo {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    height: auto !important;
    border-radius: 24px 24px 0 0 !important;
  }

  .cri-about-fs__photo video,
  .cri-about-fs__photo img {
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    object-fit: cover !important;
    display: block !important;
  }

  .cri-about-fs__photo-social {
    flex: 0 0 86px !important;
    padding: 12px 18px 14px !important;
  }

  .cri-about-fs__photo-social-label {
    margin-bottom: 8px !important;
    font-size: 10.5px !important;
  }

  .cri-about-fs__social {
    gap: 9px !important;
  }

  .cri-about-fs__social a {
    width: 34px !important;
    height: 34px !important;
    font-size: 12px !important;
  }

  /* avoid overlap */
  .cri-ai-chatbot {
    transform: scale(0.82) !important;
    transform-origin: right bottom !important;
  }

  body.cri-snap-page .cri-snap-dots {
    right: 8px !important;
    transform: translateY(-50%) scale(0.78) !important;
    transform-origin: right center !important;
  }
}