@font-face {
  font-family: "CIO Roboto";
  src: url("../fonts/Roboto-Regular.woff2") format("woff2");
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}

@font-face {
  font-family: "CIO Roboto";
  src: url("../fonts/Roboto-Bold.woff2") format("woff2");
  font-style: normal;
  font-weight: 700;
  font-display: swap;
}

@font-face {
  font-family: "CIO Roboto";
  src: url("../fonts/Roboto-Black.woff2") format("woff2");
  font-style: normal;
  font-weight: 900;
  font-display: swap;
}

:root {
  --cio-navy: #07346b;
  --cio-navy-deep: #022958;
  --cio-blue: #008ee6;
  --cio-blue-strong: #007ccc;
  --cio-cyan: #24b7ee;
  --cio-pink: #e51e83;
  --cio-pink-soft: #f36db0;
  --cio-green: #20b56b;
  --cio-text: #123766;
  --cio-muted: #5b7190;
  --cio-surface: #ffffff;
  --cio-surface-blue: #eff9ff;
  --cio-border: #d9eaf5;
  --cio-focus: #ffbf47;
  --cio-font: "CIO Roboto", Roboto, "Helvetica Neue", Arial, sans-serif;
  --cio-space-1: 0.25rem;
  --cio-space-2: 0.5rem;
  --cio-space-3: 0.75rem;
  --cio-space-4: 1rem;
  --cio-space-5: 1.25rem;
  --cio-space-6: 1.5rem;
  --cio-space-8: 2rem;
  --cio-space-10: 2.5rem;
  --cio-space-12: 3rem;
  --cio-space-16: 4rem;
  --cio-container: 82.5rem;
  --cio-gutter: clamp(1rem, 3vw, 2rem);
  --cio-radius-sm: 0.625rem;
  --cio-radius-md: 0.875rem;
  --cio-radius-lg: 1.25rem;
  --cio-radius-xl: 1.75rem;
  --cio-radius-pill: 999px;
  --cio-shadow-sm: 0 0.5rem 1.5rem rgb(5 55 103 / 8%);
  --cio-shadow-md: 0 1rem 2.75rem rgb(5 55 103 / 14%);
  --cio-transition: 180ms ease;
  --cio-header-nav-height: 4rem;
  --cio-touch: 2.75rem;
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  color-scheme: light;
  scroll-behavior: smooth;
  scroll-padding-top: calc(var(--cio-header-nav-height) + var(--cio-space-4));
}

[id] {
  scroll-margin-top: calc(var(--cio-header-nav-height) + var(--cio-space-4));
}

body {
  margin: 0;
  min-width: 20rem;
  overflow-x: clip;
  color: var(--cio-text);
  background: var(--cio-surface);
  font-family: var(--cio-font);
  font-size: 1rem;
  line-height: 1.5;
  text-rendering: optimizeLegibility;
}

img,
svg {
  display: block;
  max-width: 100%;
}

a {
  color: inherit;
  text-decoration: none;
}

button,
input,
textarea,
select {
  font: inherit;
}

:focus-visible {
  outline: 0.1875rem solid var(--cio-focus);
  outline-offset: 0.1875rem;
}

.cio-container {
  width: min(calc(100% - (2 * var(--cio-gutter))), var(--cio-container));
  margin-inline: auto;
}

.cio-skip-link {
  position: fixed;
  z-index: 1000;
  top: var(--cio-space-3);
  left: var(--cio-space-3);
  padding: var(--cio-space-3) var(--cio-space-4);
  border-radius: var(--cio-radius-sm);
  color: #fff;
  background: var(--cio-navy);
  transform: translateY(-180%);
  transition: transform var(--cio-transition);
}

.cio-skip-link:focus {
  transform: translateY(0);
}

.cio-header {
  position: relative;
  z-index: 20;
  background: #fff;
}

.cio-utility {
  min-height: 6.4rem;
  background: #fff;
}

.cio-utility__inner {
  display: grid;
  grid-template-columns: minmax(18rem, 1.15fr) minmax(34rem, 1.8fr) auto;
  gap: var(--cio-space-8);
  align-items: center;
  min-height: inherit;
}

.cio-brand {
  display: inline-flex;
  align-items: center;
  min-width: 0;
  color: var(--cio-navy);
}

.cio-brand__logo {
  width: 7.5rem;
  height: auto;
  image-rendering: auto;
}

.cio-brand__divider {
  width: 0.0625rem;
  height: 3.75rem;
  margin-inline: var(--cio-space-5);
  background: var(--cio-navy);
  opacity: 0.55;
}

.cio-brand__name {
  max-width: 10rem;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.08;
  letter-spacing: 0.01em;
}

.cio-utility__details {
  display: flex;
  gap: clamp(1rem, 2.2vw, 2.2rem);
  align-items: center;
  justify-content: flex-end;
}

.cio-meta-item {
  display: inline-flex;
  gap: var(--cio-space-3);
  align-items: flex-start;
  min-width: 0;
  color: var(--cio-navy);
  font-size: 0.75rem;
  line-height: 1.2;
}

.cio-meta-item svg {
  flex: 0 0 auto;
  width: 1.35rem;
  height: 1.35rem;
  color: var(--cio-blue);
  fill: currentColor;
}

.cio-meta-item span {
  display: grid;
  gap: 0.15rem;
}

.cio-meta-item strong {
  font-weight: 700;
  white-space: nowrap;
}

.cio-meta-item small {
  color: var(--cio-muted);
  font-size: 0.68rem;
  white-space: nowrap;
}

.cio-whatsapp {
  display: grid;
  flex: 0 0 auto;
  width: 2.15rem;
  height: 2.15rem;
  place-items: center;
  border-radius: 50%;
  color: #fff;
  background: #079b83;
  opacity: 0.9;
}

.cio-whatsapp svg {
  width: 1.35rem;
  fill: currentColor;
}

.cio-button {
  display: inline-flex;
  min-height: var(--cio-touch);
  gap: var(--cio-space-3);
  align-items: center;
  justify-content: center;
  padding: 0.78rem 1.35rem;
  border: 0.125rem solid transparent;
  border-radius: var(--cio-radius-sm);
  font-weight: 700;
  line-height: 1.1;
  transition: color var(--cio-transition), background var(--cio-transition), border-color var(--cio-transition), transform var(--cio-transition), box-shadow var(--cio-transition);
}

.cio-button:hover {
  transform: translateY(-0.125rem);
}

.cio-button--primary {
  color: #fff;
  background: var(--cio-blue);
  box-shadow: 0 0.65rem 1.4rem rgb(0 142 230 / 20%);
}

.cio-button--primary:hover {
  background: var(--cio-blue-strong);
  box-shadow: 0 0.8rem 1.6rem rgb(0 124 204 / 26%);
}

.cio-button--secondary {
  color: var(--cio-blue);
  border-color: #9bd9fa;
  background: rgb(255 255 255 / 90%);
  box-shadow: var(--cio-shadow-sm);
}

.cio-button--secondary:hover {
  border-color: var(--cio-blue);
  background: #fff;
}

.cio-button--large {
  min-height: 3.45rem;
  padding-inline: 1.55rem;
  border-radius: var(--cio-radius-md);
}

.cio-button svg {
  width: 1.35rem;
  height: 1.35rem;
  fill: currentColor;
}

.cio-button__plus {
  display: grid;
  width: 1.45rem;
  height: 1.45rem;
  place-items: center;
  border: 0.125rem solid currentColor;
  border-radius: 50%;
  font-size: 1.1rem;
  line-height: 1;
}

.cio-utility__cta {
  min-width: 10.5rem;
  border-radius: var(--cio-radius-md);
  white-space: nowrap;
}

.cio-utility__assistant {
  color: #fff;
  background: linear-gradient(100deg, #f372b6, var(--cio-pink));
  box-shadow: 0 0.55rem 1.3rem rgb(229 30 131 / 22%);
}

.cio-utility__assistant:hover {
  background: linear-gradient(100deg, #ec5eaa, #d81776);
  box-shadow: 0 0.75rem 1.5rem rgb(229 30 131 / 28%);
}

.cio-navigation-shell {
  position: relative;
  z-index: 5;
  display: flex;
  min-height: var(--cio-header-nav-height);
  align-items: stretch;
  margin-bottom: calc(-1 * var(--cio-header-nav-height));
  border: 0.0625rem solid #edf4f9;
  border-top: 0;
  border-radius: 0 0 var(--cio-radius-lg) var(--cio-radius-lg);
  background: rgb(255 255 255 / 96%);
  box-shadow: var(--cio-shadow-sm);
  backdrop-filter: blur(1rem);
}

.cio-navigation-shell.is-sticky {
  position: fixed;
  z-index: 1000;
  top: 0;
  left: 50%;
  width: min(calc(100% - (2 * var(--cio-gutter))), var(--cio-container));
  margin: 0;
  border-top: 0;
  border-color: rgb(201 226 240 / 90%);
  background: rgb(255 255 255 / 97%);
  box-shadow: 0 0.7rem 2rem rgb(2 41 88 / 13%);
  transform: translateX(-50%);
  animation: cio-sticky-nav-in 180ms ease both;
}

@keyframes cio-sticky-nav-in {
  from {
    opacity: 0;
    transform: translate(-50%, -0.5rem);
  }

  to {
    opacity: 1;
    transform: translate(-50%, 0);
  }
}

.cio-home-link,
.cio-search-link {
  display: grid;
  flex: 0 0 var(--cio-header-nav-height);
  min-height: var(--cio-touch);
  min-width: var(--cio-touch);
  place-items: center;
  color: var(--cio-navy);
  transition: color var(--cio-transition), background var(--cio-transition);
}

.cio-home-link {
  color: var(--cio-blue);
}

.cio-home-link:hover,
.cio-search-link:hover {
  color: var(--cio-blue);
  background: var(--cio-surface-blue);
}

.cio-home-link svg,
.cio-search-link svg {
  width: 1.45rem;
  height: 1.45rem;
  fill: currentColor;
}

.cio-navigation-panel {
  display: flex;
  flex: 1 1 auto;
  min-width: 0;
  align-items: stretch;
  justify-content: space-between;
}

.cio-main-nav {
  display: flex;
  min-width: 0;
  align-items: stretch;
}

.cio-main-nav .mod-menu {
  display: flex;
  align-items: stretch;
  margin: 0;
  padding: 0;
  list-style: none;
}

.cio-main-nav .mod-menu > li {
  display: flex;
  align-items: stretch;
}

.cio-main-nav .mod-menu > li > a,
.cio-main-nav .mod-menu > li > span {
  position: relative;
  display: flex;
  align-items: center;
  padding-inline: clamp(0.72rem, 1.25vw, 1.25rem);
  color: var(--cio-navy);
  font-size: 0.94rem;
  font-weight: 600;
  white-space: nowrap;
  transition: color var(--cio-transition), background var(--cio-transition);
}

.cio-main-nav .mod-menu > li > a::after {
  position: absolute;
  right: 1rem;
  bottom: 0;
  left: 1rem;
  height: 0.1875rem;
  border-radius: var(--cio-radius-pill);
  background: var(--cio-blue);
  content: "";
  opacity: 0;
  transform: scaleX(0.4);
  transition: opacity var(--cio-transition), transform var(--cio-transition);
}

.cio-main-nav .mod-menu > li > a:hover,
.cio-main-nav .mod-menu > li.active > a,
.cio-main-nav .mod-menu > li.current > a {
  color: var(--cio-blue);
  background: linear-gradient(to bottom, transparent 70%, rgb(0 142 230 / 5%));
}

.cio-main-nav .mod-menu > li > a:hover::after,
.cio-main-nav .mod-menu > li.active > a::after,
.cio-main-nav .mod-menu > li.current > a::after {
  opacity: 1;
  transform: scaleX(1);
}

.cio-nav-actions {
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  padding-right: var(--cio-space-3);
}

.cio-search-link {
  padding: 0;
  border: 0;
  border-left: 0.0625rem solid var(--cio-border);
  background: transparent;
  cursor: pointer;
}

body.cio-search-open {
  overflow: hidden;
  padding-right: var(--cio-scrollbar-compensation, 0);
}

.cio-search-overlay {
  position: fixed;
  z-index: 1900;
  inset: 0;
  display: grid;
  padding: clamp(1rem, 4vw, 3rem);
  place-items: start center;
  opacity: 0;
  visibility: hidden;
  transition: opacity 180ms ease, visibility 180ms ease;
}

.cio-search-overlay[hidden] {
  display: none;
}

.cio-search-overlay.is-open {
  opacity: 1;
  visibility: visible;
}

.cio-search-overlay__backdrop {
  position: absolute;
  inset: 0;
  background: rgb(1 18 42 / 70%);
  backdrop-filter: blur(0.45rem);
}

.cio-search-overlay__dialog {
  position: relative;
  z-index: 1;
  width: min(100%, 61rem);
  margin-top: clamp(3rem, 10vh, 7rem);
  padding: clamp(2.25rem, 5vw, 4.25rem);
  overflow: visible;
  border: 0.0625rem solid rgb(103 213 239 / 35%);
  border-radius: 1.75rem;
  color: #fff;
  background:
    radial-gradient(circle at 92% 10%, rgb(71 205 236 / 16%) 0 12%, transparent 32%),
    linear-gradient(130deg, #032653 0%, #064575 100%);
  box-shadow: 0 2.5rem 7rem rgb(0 10 30 / 54%);
  opacity: 0;
  transform: translateY(-0.75rem) scale(0.99);
  transition: opacity 180ms ease, transform 180ms ease;
}

.cio-search-overlay.is-open .cio-search-overlay__dialog {
  opacity: 1;
  transform: none;
}

.cio-search-overlay__eyebrow {
  margin: 0 0 var(--cio-space-3);
  color: #69ddf4;
  font-size: 0.72rem;
  font-weight: 900;
  letter-spacing: 0.2em;
  text-transform: uppercase;
}

.cio-search-overlay__dialog h2 {
  max-width: 42rem;
  margin: 0;
  color: #fff;
  font-size: clamp(2rem, 4.8vw, 3.5rem);
  font-weight: 900;
  letter-spacing: -0.045em;
  line-height: 1.04;
}

.cio-search-overlay__intro {
  max-width: 44rem;
  margin: var(--cio-space-4) 0 var(--cio-space-8);
  color: #cfe6f3;
  font-size: 1rem;
}

.cio-search-overlay__close {
  position: absolute;
  top: var(--cio-space-5);
  right: var(--cio-space-5);
  display: grid;
  width: 3rem;
  height: 3rem;
  padding: 0;
  border: 0.0625rem solid rgb(255 255 255 / 24%);
  border-radius: 50%;
  place-items: center;
  color: #fff;
  background: rgb(255 255 255 / 8%);
  cursor: pointer;
  transition: color var(--cio-transition), background var(--cio-transition), transform var(--cio-transition);
}

.cio-search-overlay__close:hover {
  color: var(--cio-navy-deep);
  background: #fff;
  transform: rotate(4deg);
}

.cio-search-overlay__close svg {
  width: 1.3rem;
  height: 1.3rem;
  fill: currentcolor;
}

.cio-smart-search label {
  display: block;
  margin-bottom: var(--cio-space-3);
  color: #fff;
  font-size: 0.84rem;
  font-weight: 800;
}

.cio-smart-search__field {
  position: relative;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  padding: 0.42rem;
  border: 0.0625rem solid rgb(113 223 246 / 50%);
  border-radius: 1rem;
  background: #fff;
  box-shadow: 0 1rem 2.5rem rgb(0 11 34 / 22%);
}

.cio-smart-search__field > svg {
  width: 1.5rem;
  height: 1.5rem;
  margin-inline: var(--cio-space-4);
  color: var(--cio-blue);
  fill: currentcolor;
}

.cio-smart-search__field input {
  width: 100%;
  min-height: 3.25rem;
  padding: 0.65rem 0;
  border: 0;
  outline: 0;
  color: var(--cio-navy-deep);
  background: transparent;
  font-size: 1rem;
}

.cio-smart-search__field input::placeholder {
  color: #7590a8;
}

.cio-smart-search__field button {
  min-height: 3.25rem;
  padding: 0.75rem 1.2rem;
  border: 0;
  border-radius: 0.75rem;
  color: #fff;
  background: var(--cio-blue);
  font-weight: 900;
  cursor: pointer;
  transition: background var(--cio-transition), transform var(--cio-transition);
}

.cio-smart-search__field button:hover {
  background: var(--cio-blue-strong);
  transform: translateY(-0.08rem);
}

.cio-smart-search .awesomplete {
  position: relative;
  display: block;
  min-width: 0;
}

.cio-smart-search .awesomplete > ul {
  position: absolute;
  z-index: 4;
  top: calc(100% + 0.85rem);
  right: -9rem;
  left: -3.75rem;
  margin: 0;
  padding: var(--cio-space-2);
  overflow: hidden;
  border: 0.0625rem solid #cce5f2;
  border-radius: var(--cio-radius-md);
  color: var(--cio-navy-deep);
  background: #fff;
  box-shadow: var(--cio-shadow-md);
  list-style: none;
}

.cio-smart-search .awesomplete > ul[hidden],
.cio-smart-search .awesomplete > ul:empty {
  display: none;
}

.cio-smart-search .awesomplete > ul > li {
  padding: 0.72rem 0.9rem;
  border-radius: var(--cio-radius-sm);
  cursor: pointer;
}

.cio-smart-search .awesomplete > ul > li[aria-selected="true"],
.cio-smart-search .awesomplete > ul > li:hover {
  color: var(--cio-blue-strong);
  background: var(--cio-surface-blue);
}

.cio-search-overlay__hint {
  margin: var(--cio-space-5) 0 0;
  color: #b7d4e5;
  font-size: 0.78rem;
}

.cio-menu-toggle {
  display: none;
}

.cio-visually-hidden {
  position: absolute !important;
  width: 0.0625rem !important;
  height: 0.0625rem !important;
  padding: 0 !important;
  margin: -0.0625rem !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

.cio-hero {
  position: relative;
  min-height: 33.75rem;
  overflow: hidden;
  padding-top: var(--cio-header-nav-height);
  background: linear-gradient(105deg, #fff 0%, #f7fcff 43%, #e9f7ff 72%, #fff2f8 100%);
}

.cio-hero-carousel__slide {
  position: relative;
  min-height: 33.75rem;
}

.cio-hero-carousel__slide[hidden] {
  display: none;
}

.cio-hero-carousel__slide.is-active {
  animation: cio-hero-reveal 320ms ease both;
}

.cio-hero-carousel__slide--campaign {
  background: linear-gradient(105deg, #fff 0%, #fff8fb 45%, #ffeef6 100%);
}

.cio-hero-carousel__slide--event {
  background: linear-gradient(105deg, #fff 0%, #f4fbff 50%, #e8f7ff 100%);
}

.cio-hero-carousel__controls {
  position: absolute;
  z-index: 5;
  right: max(var(--cio-gutter), calc((100% - var(--cio-container)) / 2));
  bottom: var(--cio-space-5);
  display: flex;
  gap: var(--cio-space-2);
  align-items: center;
  padding: 0.35rem;
  border: 0.0625rem solid rgb(255 255 255 / 75%);
  border-radius: var(--cio-radius-pill);
  background: rgb(255 255 255 / 88%);
  box-shadow: 0 0.75rem 2rem rgb(15 58 105 / 12%);
  backdrop-filter: blur(0.8rem);
}

.cio-hero-carousel__arrow,
.cio-hero-carousel__indicators button {
  display: inline-grid;
  min-width: 2.75rem;
  min-height: 2.75rem;
  place-items: center;
  padding: 0;
  border: 0;
  border-radius: 50%;
  color: var(--cio-navy);
  background: transparent;
  cursor: pointer;
}

.cio-hero-carousel__arrow {
  font-size: 1.15rem;
  font-weight: 800;
}

.cio-hero-carousel__indicators {
  display: flex;
  align-items: center;
}

.cio-hero-carousel__indicators button span {
  width: 0.52rem;
  height: 0.52rem;
  border-radius: 50%;
  background: #b8d8ed;
  transition: width 180ms ease, background-color 180ms ease;
}

.cio-hero-carousel__indicators button[aria-current="true"] span {
  width: 1.45rem;
  border-radius: var(--cio-radius-pill);
  background: var(--cio-blue);
}

.cio-hero-carousel__arrow:hover,
.cio-hero-carousel__indicators button:hover {
  color: var(--cio-blue-dark);
  background: #edf8ff;
}

.cio-hero-carousel__arrow:focus-visible,
.cio-hero-carousel__indicators button:focus-visible {
  outline: 0.1875rem solid var(--cio-cyan);
  outline-offset: 0.125rem;
}

@keyframes cio-hero-reveal {
  from {
    opacity: 0.55;
    transform: translateX(0.75rem);
  }

  to {
    opacity: 1;
    transform: translateX(0);
  }
}

.cio-hero__wash {
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 20% 40%, rgb(255 255 255 / 95%) 0 13%, transparent 43%),
    linear-gradient(90deg, rgb(255 255 255 / 98%) 0%, rgb(255 255 255 / 76%) 43%, transparent 67%);
  pointer-events: none;
}

.cio-hero__inner {
  position: relative;
  display: grid;
  grid-template-columns: minmax(31rem, 1.02fr) minmax(29rem, 0.98fr);
  min-height: 33.75rem;
}

.cio-hero__content {
  z-index: 2;
  align-self: center;
  padding: clamp(3.6rem, 6vw, 5.5rem) 0 2.7rem;
}

.cio-eyebrow {
  margin: 0 0 var(--cio-space-4);
  color: #2b6192;
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.28em;
  text-transform: uppercase;
}

.cio-hero__title {
  position: relative;
  max-width: 39rem;
  margin: 0;
  padding-bottom: var(--cio-space-5);
  color: var(--cio-navy);
  font-size: clamp(2.7rem, 4vw, 4.25rem);
  font-weight: 900;
  letter-spacing: -0.045em;
  line-height: 0.98;
}

.cio-hero__title::after {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 5.6rem;
  height: 0.24rem;
  border-radius: var(--cio-radius-pill);
  background: var(--cio-blue);
  content: "";
}

.cio-hero__title span {
  display: block;
}

.cio-hero__services {
  margin: var(--cio-space-5) 0 var(--cio-space-2);
  color: var(--cio-navy);
  font-size: clamp(1rem, 1.4vw, 1.22rem);
  font-weight: 800;
}

.cio-hero__intro {
  max-width: 35rem;
  margin: 0;
  color: #3f5f82;
  font-size: 1rem;
}

.cio-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--cio-space-4);
  margin-top: var(--cio-space-6);
}

.cio-hero__quick-info {
  display: flex;
  gap: clamp(1.2rem, 3vw, 2.7rem);
  align-items: center;
  margin-top: var(--cio-space-6);
}

.cio-quick-item {
  display: flex;
  gap: var(--cio-space-2);
  align-items: flex-start;
  color: var(--cio-text);
  font-size: 0.72rem;
  line-height: 1.2;
}

.cio-quick-item svg {
  width: 1.3rem;
  height: 1.3rem;
  color: var(--cio-blue);
  fill: currentColor;
}

.cio-quick-item span:not(.cio-status-dot) {
  display: grid;
  gap: 0.15rem;
}

.cio-quick-item small {
  color: var(--cio-muted);
  font-size: 0.68rem;
}

.cio-status-dot {
  width: 0.85rem;
  height: 0.85rem;
  margin-top: 0.12rem;
  border-radius: 50%;
  background: var(--cio-green);
  box-shadow: 0 0 0 0.3rem rgb(32 181 107 / 12%);
}

.cio-hero__visual {
  position: relative;
  z-index: 1;
  min-width: 0;
  align-self: end;
  margin-top: 1.5rem;
}

.cio-hero__visual::after {
  position: absolute;
  right: -20%;
  bottom: -15%;
  width: 80%;
  height: 40%;
  border-radius: 50%;
  background: rgb(244 84 162 / 12%);
  content: "";
  filter: blur(2rem);
  pointer-events: none;
}

.cio-hero__visual img {
  position: relative;
  z-index: 1;
  width: 100%;
  height: 31rem;
  object-fit: cover;
  object-position: center bottom;
}

.cio-hero__asset-note {
  position: absolute;
  z-index: 2;
  right: 1.25rem;
  bottom: 1.25rem;
  padding: 0.45rem 0.75rem;
  border: 0.0625rem solid rgb(255 255 255 / 65%);
  border-radius: var(--cio-radius-pill);
  color: var(--cio-navy);
  background: rgb(255 255 255 / 80%);
  font-size: 0.7rem;
  font-weight: 700;
  backdrop-filter: blur(0.65rem);
}

.cio-home-section {
  position: relative;
}

.cio-section-heading {
  color: var(--cio-navy);
}

.cio-section-heading h2 {
  margin: 0;
  font-size: clamp(1.65rem, 2.4vw, 2.15rem);
  font-weight: 900;
  letter-spacing: -0.04em;
  line-height: 1.1;
}

.cio-section-heading--centered {
  display: grid;
  justify-items: center;
  text-align: center;
}

.cio-section-heading--centered::after {
  width: 3.25rem;
  height: 0.2rem;
  margin-top: var(--cio-space-3);
  border-radius: var(--cio-radius-pill);
  background: var(--cio-blue);
  content: "";
}

.cio-section-heading--centered p {
  order: 1;
  margin: var(--cio-space-2) 0 0;
  color: var(--cio-muted);
  font-size: 0.92rem;
}

.cio-section-heading--split {
  display: flex;
  gap: var(--cio-space-6);
  align-items: center;
  justify-content: space-between;
  margin-bottom: var(--cio-space-5);
}

.cio-section-heading--split > a {
  display: inline-flex;
  min-height: var(--cio-touch);
  gap: var(--cio-space-2);
  align-items: center;
  color: var(--cio-blue);
  font-size: 0.88rem;
  font-weight: 700;
  transition: color var(--cio-transition), transform var(--cio-transition);
}

.cio-section-heading--split > a:hover {
  color: var(--cio-blue-strong);
  transform: translateX(0.18rem);
}

.cio-help {
  padding: var(--cio-space-10) 0 var(--cio-space-8);
  background: #fff;
}

.cio-help__grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: var(--cio-space-4);
  margin-top: var(--cio-space-6);
}

.cio-help-card {
  min-width: 0;
  overflow: hidden;
  border: 0.0625rem solid rgb(7 52 107 / 6%);
  border-radius: var(--cio-radius-lg);
  background: var(--cio-help-surface, #edf9ff);
  box-shadow: 0 0.55rem 1.6rem rgb(5 55 103 / 5%);
  transition: border-color var(--cio-transition), box-shadow var(--cio-transition), transform var(--cio-transition);
}

.cio-help-card:hover,
.cio-help-card:focus-within {
  border-color: color-mix(in srgb, var(--cio-help-color) 20%, transparent);
  box-shadow: 0 0.9rem 2rem rgb(5 55 103 / 9%);
  transform: translateY(-0.2rem);
}

.cio-help-card--1 {
  --cio-help-color: #078edc;
  --cio-help-icon: #c5edff;
  --cio-help-surface: #edf9ff;
}

.cio-help-card--2 {
  --cio-help-color: #df197b;
  --cio-help-icon: #ffd6e9;
  --cio-help-surface: #fff1f7;
}

.cio-help-card--3 {
  --cio-help-color: #078d8f;
  --cio-help-icon: #cceee1;
  --cio-help-surface: #eefaf3;
}

.cio-help-card--4 {
  --cio-help-color: #c16b03;
  --cio-help-icon: #ffe5b5;
  --cio-help-surface: #fff8eb;
}

.cio-help-card--5 {
  --cio-help-color: #6541d8;
  --cio-help-icon: #ddd2ff;
  --cio-help-surface: #f5f1ff;
}

.cio-help-card--6 {
  --cio-help-color: #087ed1;
  --cio-help-icon: #cceeff;
  --cio-help-surface: #eefaff;
}

.cio-help-card__link {
  display: flex;
  min-height: 11.5rem;
  flex-direction: column;
  align-items: center;
  padding: var(--cio-space-4) var(--cio-space-3) var(--cio-space-3);
  text-align: center;
  transition: color var(--cio-transition);
}

.cio-help-card__icon {
  display: grid;
  width: 3.15rem;
  height: 3.15rem;
  flex: 0 0 auto;
  place-items: center;
  border-radius: 50%;
  color: var(--cio-help-color);
  background: var(--cio-help-icon);
  box-shadow: inset 0 0 0 0.2rem rgb(255 255 255 / 55%);
  transition: transform var(--cio-transition), box-shadow var(--cio-transition);
}

.cio-help-card:hover .cio-help-card__icon,
.cio-help-card:focus-within .cio-help-card__icon {
  box-shadow: inset 0 0 0 0.2rem rgb(255 255 255 / 68%), 0 0.4rem 1rem rgb(5 55 103 / 9%);
  transform: translateY(-0.1rem);
}

.cio-help-card__icon svg {
  width: 1.65rem;
  height: 1.65rem;
}

.cio-help-card h3 {
  margin: var(--cio-space-3) 0 var(--cio-space-1);
  color: var(--cio-navy-deep);
  font-size: 0.96rem;
  font-weight: 900;
  line-height: 1.15;
}

.cio-help-card p {
  margin: 0;
  color: #395d82;
  font-size: 0.76rem;
  line-height: 1.3;
}

.cio-help-card__arrow {
  display: grid;
  width: 1.6rem;
  height: 1.6rem;
  flex: 0 0 auto;
  place-items: center;
  margin-top: auto;
  border-radius: 50%;
  color: #fff;
  background: var(--cio-help-color);
  font-size: 0.9rem;
  font-weight: 700;
}

.cio-journey {
  padding: 0 0 var(--cio-space-10);
}

.cio-journey__panel {
  overflow: hidden;
  padding: var(--cio-space-6) clamp(1.25rem, 3vw, 2.75rem) var(--cio-space-8);
  border-radius: var(--cio-radius-lg);
  background: linear-gradient(105deg, #eefaff 0%, #e7f7ff 52%, #f2f6ff 100%);
  box-shadow: inset 0 0 0 0.0625rem rgb(7 52 107 / 4%), 0 0.75rem 2.25rem rgb(5 55 103 / 5%);
}

.cio-journey__steps {
  position: relative;
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: var(--cio-space-4);
  margin: var(--cio-space-5) 0 0;
  padding: 0;
  list-style: none;
}

.cio-journey__steps::before {
  position: absolute;
  z-index: 0;
  top: 1.75rem;
  right: 7%;
  left: 7%;
  height: 0.15rem;
  border-radius: var(--cio-radius-pill);
  background: linear-gradient(90deg, var(--cio-cyan), var(--cio-blue));
  content: "";
}

.cio-journey-step {
  position: relative;
  z-index: 1;
  min-width: 0;
  text-align: center;
}

.cio-journey-step::before {
  position: absolute;
  z-index: -1;
  top: 1.52rem;
  left: -0.75rem;
  width: 0.55rem;
  height: 0.55rem;
  border: 0.15rem solid #eaf8ff;
  border-radius: 50%;
  background: var(--cio-blue);
  content: "";
}

.cio-journey-step:first-child::before {
  display: none;
}

.cio-journey-step a {
  display: flex;
  min-height: 8.7rem;
  flex-direction: column;
  align-items: center;
  padding-inline: var(--cio-space-2);
  border-radius: var(--cio-radius-md);
}

.cio-journey-step__icon {
  display: grid;
  width: 3.55rem;
  height: 3.55rem;
  flex: 0 0 auto;
  place-items: center;
  border: 0.22rem solid #d3effc;
  border-radius: 50%;
  color: var(--cio-blue);
  background: #fff;
  box-shadow: 0 0.35rem 0.9rem rgb(0 142 230 / 12%);
  transition: border-color var(--cio-transition), box-shadow var(--cio-transition), transform var(--cio-transition);
}

.cio-journey-step a:hover .cio-journey-step__icon,
.cio-journey-step a:focus-visible .cio-journey-step__icon {
  border-color: #a5def6;
  box-shadow: 0 0.65rem 1.35rem rgb(0 142 230 / 17%);
  transform: translateY(-0.16rem);
}

.cio-journey-step--6 .cio-journey-step__icon {
  color: #6940d8;
  border-color: #ded5ff;
}

.cio-journey-step__icon svg {
  width: 1.6rem;
  height: 1.6rem;
}

.cio-journey-step__copy {
  display: grid;
  gap: 0.15rem;
  margin-top: var(--cio-space-2);
}

.cio-journey-step strong {
  color: var(--cio-navy-deep);
  font-size: 0.95rem;
  font-weight: 900;
}

.cio-journey-step small {
  color: #4e6a88;
  font-size: 0.72rem;
  line-height: 1.25;
}

.cio-expertises {
  padding: var(--cio-space-2) 0 var(--cio-space-16);
  background: #fff;
}

.cio-expertises__grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: var(--cio-space-4);
}

.cio-expertise-card {
  min-width: 0;
  overflow: hidden;
  border: 0.0625rem solid var(--cio-border);
  border-radius: var(--cio-radius-lg);
  background: #fff;
  box-shadow: 0 0.65rem 1.8rem rgb(5 55 103 / 7%);
  transition: border-color var(--cio-transition), transform var(--cio-transition), box-shadow var(--cio-transition);
}

.cio-expertise-card:hover,
.cio-expertise-card:focus-within {
  border-color: #bddff1;
  transform: translateY(-0.25rem);
  box-shadow: 0 1rem 2.4rem rgb(5 55 103 / 12%);
}

.cio-expertise-card > a {
  display: block;
  height: 100%;
}

.cio-expertise-card__media {
  position: relative;
  display: block;
  height: 8.3rem;
  overflow: hidden;
  background: linear-gradient(145deg, #edfaff, #f2f6ff);
}

.cio-expertise-card__media::after {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 55%, rgb(5 55 103 / 5%));
  content: "";
  pointer-events: none;
}

.cio-expertise-card__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0.96;
  transition: opacity 300ms ease, transform 300ms ease;
}

.cio-expertise-card:hover .cio-expertise-card__media img,
.cio-expertise-card:focus-within .cio-expertise-card__media img {
  opacity: 1;
  transform: scale(1.025);
}

.cio-expertise-card__placeholder {
  position: absolute;
  top: var(--cio-space-2);
  right: var(--cio-space-2);
  padding: 0.22rem 0.45rem;
  border-radius: var(--cio-radius-pill);
  color: var(--cio-navy);
  background: rgb(255 255 255 / 88%);
  font-size: 0.56rem;
  font-weight: 700;
  backdrop-filter: blur(0.45rem);
  z-index: 1;
}

.cio-expertise-card__body {
  display: block;
  min-height: 7.4rem;
  padding: 0 var(--cio-space-3) var(--cio-space-3);
}

.cio-expertise-card__title {
  position: relative;
  display: flex;
  min-height: 2.8rem;
  gap: var(--cio-space-2);
  align-items: center;
  margin-top: -1rem;
  padding: 0.45rem 0.55rem;
  border: 0.0625rem solid rgb(217 234 245 / 80%);
  border-radius: var(--cio-radius-pill);
  background: rgb(255 255 255 / 96%);
  box-shadow: 0 0.35rem 0.8rem rgb(5 55 103 / 8%);
}

.cio-expertise-card__icon {
  display: grid;
  width: 2rem;
  height: 2rem;
  flex: 0 0 auto;
  place-items: center;
  border-radius: 50%;
  color: var(--cio-card-accent, var(--cio-blue));
  background: var(--cio-card-soft, #d7f2ff);
}

.cio-expertise-card--1 {
  --cio-card-accent: #087ed1;
  --cio-card-soft: #d8f2ff;
}

.cio-expertise-card--2 {
  --cio-card-accent: #df197b;
  --cio-card-soft: #ffe0ef;
}

.cio-expertise-card--3 {
  --cio-card-accent: #078d8f;
  --cio-card-soft: #d9f3ec;
}

.cio-expertise-card--4 {
  --cio-card-accent: #038f9c;
  --cio-card-soft: #d9f5f6;
}

.cio-expertise-card--5 {
  --cio-card-accent: #6940d8;
  --cio-card-soft: #e4ddff;
}

.cio-expertise-card--6 {
  --cio-card-accent: #087ed1;
  --cio-card-soft: #d8f2ff;
}

.cio-expertise-card__icon svg {
  width: 1.15rem;
  height: 1.15rem;
}

.cio-expertise-card__title strong {
  color: var(--cio-navy-deep);
  font-size: 0.72rem;
  font-weight: 900;
  line-height: 1.15;
}

.cio-expertise-card__intro {
  display: block;
  margin-top: var(--cio-space-2);
  color: #466786;
  font-size: 0.72rem;
  line-height: 1.3;
}

.cio-director {
  position: relative;
  overflow: hidden;
  padding: clamp(4.5rem, 7vw, 7rem) 0;
  color: #fff;
  background: linear-gradient(122deg, #031f45 0%, #063667 58%, #064b78 100%);
  isolation: isolate;
}

.cio-director::before,
.cio-director::after {
  position: absolute;
  z-index: -1;
  border: 0.0625rem solid rgb(82 211 241 / 14%);
  border-radius: 50%;
  content: "";
  pointer-events: none;
}

.cio-director::before {
  width: 38rem;
  height: 38rem;
  top: -25rem;
  right: -7rem;
  box-shadow: 0 0 0 4rem rgb(82 211 241 / 3%), 0 0 0 9rem rgb(82 211 241 / 2%);
}

.cio-director::after {
  width: 25rem;
  height: 25rem;
  bottom: -18rem;
  left: 44%;
}

.cio-director__shell {
  display: grid;
  grid-template-columns: minmax(20rem, 0.82fr) minmax(28rem, 1.18fr);
  gap: clamp(3rem, 7vw, 7.5rem);
  align-items: center;
}

.cio-director__portrait {
  position: relative;
  min-height: 32rem;
  overflow: hidden;
  border: 0.0625rem solid rgb(255 255 255 / 16%);
  border-radius: 1.5rem 1.5rem 4.75rem 1.5rem;
  background: #0a3a69;
  box-shadow: 0 2rem 4.5rem rgb(0 10 35 / 28%);
}

.cio-director__portrait::after {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 62%, rgb(2 25 58 / 38%));
  content: "";
  pointer-events: none;
}

.cio-director__portrait img {
  width: 100%;
  height: 32rem;
  object-fit: cover;
}

.cio-director__placeholder {
  position: absolute;
  z-index: 1;
  right: var(--cio-space-5);
  bottom: var(--cio-space-5);
  padding: 0.45rem 0.75rem;
  border: 0.0625rem solid rgb(255 255 255 / 18%);
  border-radius: var(--cio-radius-pill);
  color: #dff9ff;
  background: rgb(2 31 69 / 72%);
  font-size: 0.68rem;
  font-weight: 700;
  backdrop-filter: blur(0.7rem);
}

.cio-director__content {
  max-width: 40rem;
}

.cio-director__eyebrow {
  margin: 0 0 var(--cio-space-6);
  color: #69dcf5;
  font-size: 0.72rem;
  font-weight: 900;
  letter-spacing: 0.22em;
  line-height: 1.4;
  text-transform: uppercase;
}

.cio-director__editorial {
  color: #d6e9f7;
  font-size: 1rem;
  line-height: 1.75;
}

.cio-director__editorial blockquote {
  position: relative;
  margin: 0 0 var(--cio-space-5);
  padding: 0 0 0 var(--cio-space-6);
  border-left: 0.18rem solid #51d5f2;
  color: #fff;
  font-size: clamp(1.65rem, 3vw, 2.65rem);
  font-weight: 900;
  letter-spacing: -0.035em;
  line-height: 1.18;
}

.cio-director__editorial blockquote p,
.cio-director__editorial > p {
  margin: 0 0 var(--cio-space-5);
}

.cio-director__editorial > p:last-child {
  margin-top: var(--cio-space-6);
  color: #fff;
  line-height: 1.45;
}

.cio-director__editorial > p:last-child strong {
  display: inline-block;
  margin-bottom: 0.12rem;
  color: #71def5;
  font-size: 1.08rem;
}

.cio-director__cta {
  display: inline-flex;
  min-height: 3.2rem;
  gap: var(--cio-space-4);
  align-items: center;
  margin-top: var(--cio-space-3);
  padding: 0.8rem 1.25rem;
  border: 0.0625rem solid rgb(98 220 247 / 50%);
  border-radius: var(--cio-radius-pill);
  color: #042c59;
  background: #6de0f7;
  box-shadow: 0 0.65rem 1.6rem rgb(0 14 43 / 18%);
  font-size: 0.92rem;
  font-weight: 900;
  transition: background var(--cio-transition), box-shadow var(--cio-transition), transform var(--cio-transition);
}

.cio-director__cta:hover {
  background: #9aebfa;
  box-shadow: 0 0.9rem 2rem rgb(0 14 43 / 24%);
  transform: translateY(-0.12rem);
}

body.cio-modal-open {
  overflow: hidden;
  padding-right: var(--cio-scrollbar-compensation, 0);
}

.cio-director-modal {
  position: fixed;
  z-index: 2000;
  inset: 0;
  display: grid;
  padding: clamp(1rem, 3vw, 2rem);
  place-items: center;
  opacity: 0;
  visibility: hidden;
  transition: opacity 180ms ease, visibility 180ms ease;
}

.cio-director-modal[hidden] {
  display: none;
}

.cio-director-modal.is-open {
  opacity: 1;
  visibility: visible;
}

.cio-director-modal__backdrop {
  position: absolute;
  inset: 0;
  background: rgb(1 15 35 / 78%);
  backdrop-filter: blur(0.35rem);
}

.cio-director-modal__dialog {
  position: relative;
  z-index: 1;
  width: min(100%, 76rem);
  max-height: calc(100dvh - clamp(2rem, 6vw, 4rem));
  overflow: hidden;
  border: 0.0625rem solid rgb(91 215 241 / 30%);
  border-radius: 1.75rem;
  background: #fff;
  box-shadow: 0 2.5rem 7rem rgb(0 10 30 / 52%);
  opacity: 0;
  transform: translateY(1rem) scale(0.985);
  transition: opacity 180ms ease, transform 180ms ease;
}

.cio-director-modal.is-open .cio-director-modal__dialog {
  opacity: 1;
  transform: none;
}

.cio-director-modal__scroll {
  max-height: calc(100dvh - clamp(2rem, 6vw, 4rem));
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
  scrollbar-color: #69d9f1 #edf8fb;
  scrollbar-width: thin;
}

.cio-director-modal__layout {
  display: grid;
  min-height: min(43rem, calc(100dvh - clamp(2rem, 6vw, 4rem)));
  grid-template-columns: minmax(20rem, 0.8fr) minmax(31rem, 1.2fr);
}

.cio-director-modal__portrait {
  position: relative;
  min-width: 0;
  overflow: hidden;
  background: linear-gradient(145deg, #04264f, #07517e);
}

.cio-director-modal__portrait::after {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 52%, rgb(1 24 54 / 52%));
  content: "";
  pointer-events: none;
}

.cio-director-modal__portrait img {
  width: 100%;
  height: 100%;
  min-height: 43rem;
  object-fit: cover;
}

.cio-director-modal__placeholder {
  position: absolute;
  z-index: 1;
  right: var(--cio-space-5);
  bottom: var(--cio-space-5);
  left: var(--cio-space-5);
  padding: 0.55rem 0.8rem;
  border: 0.0625rem solid rgb(255 255 255 / 20%);
  border-radius: var(--cio-radius-pill);
  color: #e6fbff;
  background: rgb(2 31 69 / 76%);
  font-size: 0.68rem;
  font-weight: 800;
  line-height: 1.35;
  text-align: center;
  backdrop-filter: blur(0.7rem);
}

.cio-director-modal__content {
  align-self: center;
  padding: clamp(3.25rem, 5.5vw, 5.5rem) clamp(2.5rem, 5vw, 5rem);
}

.cio-director-modal__eyebrow {
  margin: 0 0 var(--cio-space-4);
  color: #087eb3;
  font-size: 0.72rem;
  font-weight: 900;
  letter-spacing: 0.2em;
  line-height: 1.4;
  text-transform: uppercase;
}

.cio-director-modal__content h2 {
  max-width: 31rem;
  margin: 0 0 var(--cio-space-6);
  color: var(--cio-navy-deep);
  font-size: clamp(2rem, 3.4vw, 3.25rem);
  font-weight: 900;
  letter-spacing: -0.045em;
  line-height: 1.02;
}

.cio-director-modal__article {
  max-width: 39rem;
  color: #315372;
  font-size: 0.98rem;
  line-height: 1.78;
}

.cio-director-modal__article blockquote {
  margin: 0 0 var(--cio-space-6);
  padding: 0 0 0 var(--cio-space-6);
  border-left: 0.2rem solid #21badb;
  color: var(--cio-navy-deep);
  font-size: clamp(1.3rem, 2vw, 1.75rem);
  font-weight: 800;
  letter-spacing: -0.025em;
  line-height: 1.35;
}

.cio-director-modal__article blockquote p,
.cio-director-modal__article > p {
  margin: 0 0 var(--cio-space-5);
}

.cio-director-modal__article > p:last-child {
  margin: var(--cio-space-7) 0 0;
  padding-top: var(--cio-space-5);
  border-top: 0.0625rem solid #d7e9f2;
  color: #375b79;
  line-height: 1.45;
}

.cio-director-modal__article > p:last-child strong {
  display: inline-block;
  margin-bottom: 0.1rem;
  color: var(--cio-navy-deep);
  font-size: 1.05rem;
}

.cio-director-modal__close {
  position: absolute;
  z-index: 3;
  top: var(--cio-space-5);
  right: var(--cio-space-5);
  display: grid;
  width: 3rem;
  height: 3rem;
  padding: 0;
  border: 0.0625rem solid #c9e4ee;
  border-radius: 50%;
  place-items: center;
  color: var(--cio-navy-deep);
  background: rgb(255 255 255 / 94%);
  box-shadow: 0 0.5rem 1.4rem rgb(0 37 70 / 14%);
  cursor: pointer;
  transition: color var(--cio-transition), background var(--cio-transition), transform var(--cio-transition);
}

.cio-director-modal__close:hover {
  color: #fff;
  background: var(--cio-blue);
  transform: rotate(4deg);
}

.cio-director-modal__close svg {
  width: 1.35rem;
  height: 1.35rem;
  fill: currentcolor;
}

.cio-page-content {
  padding-block: var(--cio-space-16);
}

.is-search-page .cio-page-content {
  padding-block: clamp(3.5rem, 7vw, 6.5rem);
}

.is-search-page .com-finder {
  width: min(100%, 66rem);
  margin-inline: auto;
}

.cio-search-page-heading {
  margin-bottom: var(--cio-space-8);
}

.cio-search-page-heading p {
  margin: 0 0 var(--cio-space-3);
  color: var(--cio-blue-strong);
  font-size: 0.72rem;
  font-weight: 900;
  letter-spacing: 0.2em;
  text-transform: uppercase;
}

.cio-search-page-heading h1 {
  margin: 0;
  color: var(--cio-navy-deep);
  font-size: clamp(2rem, 4.5vw, 3.5rem);
  letter-spacing: -0.045em;
  line-height: 1.05;
}

.is-search-page .com-finder__form {
  padding: clamp(1.5rem, 4vw, 2.5rem);
  border: 0.0625rem solid #dcecf4;
  border-radius: var(--cio-radius-xl);
  background: linear-gradient(135deg, #f7fcff, #eef9ff);
  box-shadow: 0 1.2rem 3rem rgb(1 47 91 / 8%);
}

.is-search-page .com-finder__search {
  margin: 0;
  padding: 0;
  border: 0;
}

.is-search-page .com-finder__search .form-inline {
  display: grid;
  gap: var(--cio-space-3);
}

.is-search-page .com-finder__search label {
  color: var(--cio-navy-deep);
  font-size: 0.82rem;
  font-weight: 900;
}

.is-search-page .com-finder__search .input-group {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: var(--cio-space-2);
}

.is-search-page .com-finder__search input {
  min-width: 0;
  min-height: 3.25rem;
  padding: 0.75rem 1rem;
  border: 0.0625rem solid #bcdde9;
  border-radius: var(--cio-radius-md);
  color: var(--cio-navy-deep);
  background: #fff;
}

.is-search-page .com-finder__search .btn-primary {
  min-height: 3.25rem;
  padding: 0.75rem 1.25rem;
  border: 0;
  border-radius: var(--cio-radius-md);
  color: #fff;
  background: var(--cio-blue);
  font-weight: 900;
  cursor: pointer;
}

.is-search-page .com-finder__results {
  margin-top: var(--cio-space-10);
}

.is-search-page .com-finder__results-list {
  display: grid;
  gap: var(--cio-space-4);
  margin: 0;
  padding: 0;
  list-style: none;
}

.is-search-page .result__item {
  padding: clamp(1.25rem, 3vw, 2rem);
  border: 0.0625rem solid #dcecf4;
  border-radius: var(--cio-radius-lg);
  background: #fff;
  box-shadow: 0 0.75rem 2rem rgb(1 47 91 / 7%);
  transition: border-color var(--cio-transition), box-shadow var(--cio-transition), transform var(--cio-transition);
}

.is-search-page .result__item:hover {
  border-color: #a7dbef;
  box-shadow: 0 1rem 2.5rem rgb(1 47 91 / 11%);
  transform: translateY(-0.1rem);
}

.is-search-page .result__title {
  margin: 0;
}

.is-search-page .result__title-link {
  color: var(--cio-navy-deep);
  font-size: 1.18rem;
  font-weight: 900;
}

.is-search-page .result__title-link:hover {
  color: var(--cio-blue-strong);
}

.is-search-page .result__description {
  margin: var(--cio-space-3) 0 0;
  color: #476986;
  line-height: 1.65;
}

.is-search-page .result__taxonomy {
  display: flex;
  flex-wrap: wrap;
  gap: var(--cio-space-2);
  margin: var(--cio-space-4) 0 0;
  padding: 0;
  list-style: none;
}

.is-search-page .result__taxonomy-item {
  padding: 0.35rem 0.65rem;
  border-radius: var(--cio-radius-pill);
  color: #0a698f;
  background: #e4f7fb;
  font-size: 0.72rem;
  font-weight: 800;
}

.is-search-page .result__taxonomy-item span {
  color: #53748c;
}

.is-search-page .com-finder__empty {
  margin-top: var(--cio-space-8);
  padding: clamp(1.5rem, 4vw, 2.5rem);
  border: 0.0625rem solid #dcecf4;
  border-radius: var(--cio-radius-lg);
  background: #fff;
  box-shadow: var(--cio-shadow-sm);
}

.is-search-page .com-finder__empty h2 {
  margin-top: 0;
  color: var(--cio-navy-deep);
}

.is-search-page .com-finder__navigation {
  margin-top: var(--cio-space-6);
  color: var(--cio-muted);
  font-size: 0.82rem;
}

.is-director-page .cio-page-content {
  position: relative;
  padding-block: clamp(3.5rem, 7vw, 6.5rem);
}

.is-director-page .com-content-article {
  width: min(100%, 58rem);
  margin-inline: auto;
  padding: clamp(2rem, 5vw, 4.5rem);
  border: 0.0625rem solid #dcecf4;
  border-radius: var(--cio-radius-xl);
  background: #fff;
  box-shadow: 0 1.5rem 4rem rgb(1 47 91 / 9%);
}

.is-director-page .com-content-article .article-info {
  display: none;
}

.is-director-page .com-content-article .page-header h1 {
  margin: 0 0 var(--cio-space-8);
  color: var(--cio-navy-deep);
  font-size: clamp(2rem, 4vw, 3.4rem);
  letter-spacing: -0.045em;
  line-height: 1.05;
}

.is-director-page .com-content-article__body {
  color: #315372;
  font-size: 1.02rem;
  line-height: 1.82;
}

.is-director-page .com-content-article__body blockquote {
  margin: 0 0 var(--cio-space-8);
  padding: 0 0 0 var(--cio-space-6);
  border-left: 0.22rem solid #20bada;
  color: var(--cio-navy-deep);
  font-size: clamp(1.35rem, 2.7vw, 2rem);
  font-weight: 800;
  letter-spacing: -0.025em;
  line-height: 1.4;
}

.is-director-page .com-content-article__body > p {
  margin: 0 0 var(--cio-space-5);
}

.is-director-page .com-content-article__body > p:nth-of-type(2) {
  display: none;
}

.is-director-page .com-content-article__body > p:last-child {
  margin: var(--cio-space-8) 0 0;
  padding-top: var(--cio-space-6);
  border-top: 0.0625rem solid #d7e9f2;
  color: #375b79;
  line-height: 1.45;
}

.is-director-page .com-content-article__body > p:last-child strong {
  color: var(--cio-navy-deep);
  font-size: 1.08rem;
}

.cio-component {
  padding: var(--cio-space-6);
}

.cio-error-page {
  display: grid;
  min-height: 100vh;
  padding: var(--cio-space-6);
  place-items: center;
  background: linear-gradient(135deg, var(--cio-surface-blue), #fff2f8);
}

.cio-error-card {
  width: min(100%, 34rem);
  padding: var(--cio-space-12);
  border-radius: var(--cio-radius-lg);
  text-align: center;
  background: #fff;
  box-shadow: var(--cio-shadow-md);
}

.cio-error-card h1 {
  margin: 0;
  color: var(--cio-navy);
  font-size: 5rem;
}

@media (max-width: 74.9375rem) {
  .cio-utility__inner {
    grid-template-columns: minmax(17rem, 1fr) minmax(25rem, 1.4fr) auto;
    gap: var(--cio-space-5);
  }

  .cio-meta-item--hours,
  .cio-whatsapp {
    display: none;
  }

  .cio-main-nav .mod-menu > li > a,
  .cio-main-nav .mod-menu > li > span {
    padding-inline: 0.68rem;
    font-size: 0.86rem;
  }

  .cio-hero__inner {
    grid-template-columns: minmax(27rem, 1.05fr) minmax(22rem, 0.95fr);
  }
}

@media (max-width: 61.9375rem) {
  :root {
    --cio-header-nav-height: 3.75rem;
  }

  .cio-utility {
    min-height: 5.4rem;
  }

  .cio-utility__inner {
    grid-template-columns: 1fr auto;
  }

  .cio-utility__details {
    display: none;
  }

  .cio-brand__logo {
    width: 6.2rem;
  }

  .cio-brand__divider {
    height: 3rem;
  }

  .cio-navigation-shell {
    border-radius: 0 0 var(--cio-radius-md) var(--cio-radius-md);
  }

  .cio-home-link {
    flex-basis: 3.3rem;
  }

  .cio-main-nav .mod-menu > li > a,
  .cio-main-nav .mod-menu > li > span {
    padding-inline: 0.58rem;
    font-size: 0.78rem;
  }

  .cio-hero {
    min-height: 40rem;
  }

  .cio-hero__inner {
    grid-template-columns: minmax(25rem, 1.08fr) minmax(18rem, 0.92fr);
    min-height: 40rem;
  }

  .cio-hero__content {
    padding-top: 4.3rem;
  }

  .cio-hero__title {
    font-size: clamp(2.7rem, 6vw, 3.65rem);
  }

  .cio-hero__actions {
    display: grid;
    max-width: 25rem;
  }

  .cio-hero__quick-info {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    max-width: 28rem;
  }

  .cio-hero__visual {
    align-self: center;
  }

  .cio-hero__visual img {
    height: 27rem;
  }

  .cio-help__grid,
  .cio-expertises__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .cio-help-card__link {
    min-height: 10.8rem;
  }

  .cio-journey__steps {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    row-gap: var(--cio-space-6);
  }

  .cio-journey__steps::before,
  .cio-journey-step::before {
    display: none;
  }

  .cio-expertise-card__media {
    height: 10rem;
  }

  .cio-director {
    padding-block: var(--cio-space-16);
  }

  .cio-director__shell {
    grid-template-columns: minmax(17rem, 0.8fr) minmax(22rem, 1.2fr);
    gap: var(--cio-space-10);
  }

  .cio-director__portrait,
  .cio-director__portrait img {
    min-height: 29rem;
    height: 29rem;
  }
}

@media (max-width: 56.25rem) {
  .cio-hero {
    min-height: 0;
  }

  .cio-hero__wash {
    background: linear-gradient(180deg, rgb(255 255 255 / 98%) 0%, rgb(255 255 255 / 88%) 58%, transparent 100%);
  }

  .cio-hero__inner {
    display: flex;
    min-height: 0;
    flex-direction: column;
  }

  .cio-hero__content {
    width: 100%;
    padding: 4.5rem 0 var(--cio-space-8);
  }

  .cio-hero__title {
    max-width: 42rem;
  }

  .cio-hero__actions {
    display: flex;
    max-width: none;
  }

  .cio-hero__quick-info {
    display: flex;
    max-width: none;
  }

  .cio-hero__visual {
    width: 100%;
    align-self: auto;
    margin: 0;
  }

  .cio-hero__visual img {
    height: auto;
    max-height: 32rem;
    object-fit: cover;
    border-radius: var(--cio-radius-lg) var(--cio-radius-lg) 0 0;
  }
}

@media (max-width: 47.9375rem) {
  :root {
    --cio-gutter: 1rem;
    --cio-header-nav-height: 3.75rem;
  }

  .cio-utility {
    min-height: 4.8rem;
  }

  .cio-utility__inner {
    gap: var(--cio-space-3);
  }

  .cio-brand__logo {
    width: 4.75rem;
  }

  .cio-brand__divider {
    height: 2.35rem;
    margin-inline: var(--cio-space-3);
  }

  .cio-brand__name {
    max-width: 8.6rem;
    font-size: 0.76rem;
  }

  .cio-utility__cta {
    width: var(--cio-touch);
    min-width: var(--cio-touch);
    padding: 0;
    overflow: hidden;
    color: transparent;
    white-space: nowrap;
  }

  .cio-utility__assistant span {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    white-space: nowrap;
  }

  .cio-utility__cta::before {
    position: absolute;
    color: #fff;
    content: "✦";
    font-size: 1.25rem;
  }

  .cio-navigation-shell {
    align-items: center;
  }

  .cio-menu-toggle {
    display: inline-flex;
    min-height: var(--cio-touch);
    gap: var(--cio-space-2);
    align-items: center;
    margin-left: auto;
    padding: 0.5rem 0.9rem;
    border: 0;
    border-radius: var(--cio-radius-sm);
    color: var(--cio-navy);
    background: transparent;
    font-weight: 700;
  }

  .cio-menu-toggle__icon {
    display: grid;
    gap: 0.22rem;
  }

  .cio-menu-toggle__icon span {
    width: 1.25rem;
    height: 0.125rem;
    border-radius: var(--cio-radius-pill);
    background: currentColor;
    transition: transform var(--cio-transition), opacity var(--cio-transition);
  }

  .cio-header.is-menu-open .cio-menu-toggle__icon span:nth-child(1) {
    transform: translateY(0.345rem) rotate(45deg);
  }

  .cio-header.is-menu-open .cio-menu-toggle__icon span:nth-child(2) {
    opacity: 0;
  }

  .cio-header.is-menu-open .cio-menu-toggle__icon span:nth-child(3) {
    transform: translateY(-0.345rem) rotate(-45deg);
  }

  .cio-navigation-panel {
    position: absolute;
    top: calc(100% + 0.5rem);
    right: 0;
    left: 0;
    display: grid;
    max-height: 0;
    overflow: hidden;
    border: 0.0625rem solid var(--cio-border);
    border-radius: var(--cio-radius-md);
    visibility: hidden;
    background: #fff;
    box-shadow: var(--cio-shadow-md);
    opacity: 0;
    transform: translateY(-0.5rem);
    transition: max-height 240ms ease, opacity var(--cio-transition), transform var(--cio-transition), visibility var(--cio-transition);
  }

  .cio-header.is-menu-open .cio-navigation-panel {
    max-height: 32rem;
    visibility: visible;
    opacity: 1;
    transform: translateY(0);
  }

  .cio-main-nav,
  .cio-main-nav .mod-menu,
  .cio-main-nav .mod-menu > li {
    display: block;
  }

  .cio-main-nav .mod-menu {
    padding: var(--cio-space-2);
  }

  .cio-main-nav .mod-menu > li > a,
  .cio-main-nav .mod-menu > li > span {
    min-height: var(--cio-touch);
    padding: 0.75rem 1rem;
    border-radius: var(--cio-radius-sm);
    font-size: 0.98rem;
  }

  .cio-main-nav .mod-menu > li > a::after {
    display: none;
  }

  .cio-nav-actions {
    flex: 0 0 auto;
    gap: 0;
    justify-content: center;
    padding: 0 var(--cio-space-2) 0 0;
  }

  .cio-search-link {
    border: 0.0625rem solid var(--cio-border);
    border-radius: var(--cio-radius-sm);
  }

  .cio-hero {
    min-height: 0;
  }

  .cio-hero__wash {
    background: linear-gradient(180deg, rgb(255 255 255 / 98%) 0%, rgb(255 255 255 / 84%) 55%, transparent 100%);
  }

  .cio-hero__inner {
    display: flex;
    min-height: 0;
    flex-direction: column;
  }

  .cio-hero__content {
    width: 100%;
    padding: 3.3rem 0 var(--cio-space-6);
  }

  .cio-eyebrow {
    margin-bottom: var(--cio-space-3);
    font-size: 0.66rem;
    letter-spacing: 0.2em;
  }

  .cio-hero__title {
    font-size: clamp(2.35rem, 12vw, 3rem);
    line-height: 1.02;
  }

  .cio-hero__services {
    font-size: 0.94rem;
    line-height: 1.35;
  }

  .cio-hero__intro {
    font-size: 0.94rem;
  }

  .cio-hero__actions {
    display: grid;
    max-width: none;
    gap: var(--cio-space-3);
    margin-top: var(--cio-space-5);
  }

  .cio-button--large {
    width: 100%;
  }

  .cio-hero__quick-info {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--cio-space-4);
    margin-top: var(--cio-space-5);
  }

  .cio-quick-item:last-child {
    grid-column: 1 / -1;
  }

  .cio-hero__visual {
    width: calc(100% + (2 * var(--cio-gutter)));
    margin: 0 calc(-1 * var(--cio-gutter));
  }

  .cio-hero__visual img {
    height: auto;
    min-height: 18rem;
    max-height: 25rem;
    object-fit: cover;
    border-radius: 1.5rem 1.5rem 0 0;
  }

  .cio-hero__asset-note {
    right: var(--cio-space-4);
    bottom: var(--cio-space-4);
  }

  .cio-hero-carousel__controls {
    right: 50%;
    bottom: var(--cio-space-3);
    transform: translateX(50%);
  }

  .cio-hero-carousel:has(.cio-hero-carousel__controls) .cio-hero__asset-note {
    bottom: 4.8rem;
  }

  .cio-home-section {
    scroll-margin-top: var(--cio-space-4);
  }

  .cio-section-heading h2 {
    font-size: 1.55rem;
  }

  .cio-section-heading--split {
    align-items: flex-end;
  }

  .cio-section-heading--split > a {
    font-size: 0.78rem;
    text-align: right;
  }

  .cio-help {
    padding-block: var(--cio-space-5);
  }

  .cio-help__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--cio-space-3);
  }

  .cio-help-card__link {
    min-height: 11.5rem;
    padding-inline: var(--cio-space-2);
  }

  .cio-help-card h3 {
    font-size: 0.88rem;
  }

  .cio-help-card p {
    font-size: 0.7rem;
  }

  .cio-journey {
    padding-inline: var(--cio-space-4);
  }

  .cio-journey__panel {
    width: 100%;
    padding: var(--cio-space-5) var(--cio-space-4);
  }

  .cio-journey__steps {
    grid-template-columns: 1fr;
    gap: 0;
    margin-top: var(--cio-space-5);
  }

  .cio-journey__steps::before {
    display: block;
    top: 1.75rem;
    right: auto;
    bottom: 1.75rem;
    left: 1.72rem;
    width: 0.15rem;
    height: auto;
  }

  .cio-journey-step {
    text-align: left;
  }

  .cio-journey-step a {
    display: grid;
    min-height: 5.5rem;
    grid-template-columns: 3.55rem minmax(0, 1fr);
    gap: var(--cio-space-4);
    align-items: center;
    padding: var(--cio-space-2) 0;
  }

  .cio-journey-step__copy {
    margin-top: 0;
  }

  .cio-journey-step strong {
    font-size: 0.92rem;
  }

  .cio-expertises {
    padding-top: var(--cio-space-3);
  }

  .cio-expertises__grid {
    grid-template-columns: 1fr;
    gap: var(--cio-space-3);
  }

  .cio-expertise-card > a {
    display: grid;
    min-height: 8.8rem;
    grid-template-columns: 8.2rem minmax(0, 1fr);
  }

  .cio-expertise-card__media {
    height: 100%;
    min-height: 8.8rem;
  }

  .cio-expertise-card__body {
    min-height: 0;
    padding: var(--cio-space-3);
  }

  .cio-expertise-card__title {
    min-height: 2.65rem;
    margin-top: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    box-shadow: none;
  }

  .cio-expertise-card__title strong {
    font-size: 0.78rem;
  }

  .cio-expertise-card__placeholder {
    right: auto;
    left: var(--cio-space-2);
  }

  .cio-director {
    padding-block: var(--cio-space-12);
  }

  .cio-director__shell {
    grid-template-columns: 1fr;
    gap: var(--cio-space-8);
  }

  .cio-director__portrait,
  .cio-director__portrait img {
    min-height: 24rem;
    height: 24rem;
  }

  .cio-director__portrait {
    border-radius: var(--cio-radius-lg) var(--cio-radius-lg) 3.5rem var(--cio-radius-lg);
  }

  .cio-director__editorial {
    font-size: 0.94rem;
  }

  .cio-director__editorial blockquote {
    font-size: clamp(1.65rem, 8vw, 2.25rem);
  }

  .cio-director__cta {
    width: 100%;
    justify-content: center;
    text-align: center;
  }
}

@media (max-width: 24rem) {
  .cio-brand__name {
    display: none;
  }

  .cio-brand__divider {
    display: none;
  }

  .cio-help__grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 56.25rem) {
  .cio-search-overlay__dialog {
    margin-top: clamp(2.5rem, 7vh, 5rem);
  }

  .cio-director-modal__layout {
    min-height: 0;
    grid-template-columns: 1fr;
  }

  .cio-director-modal__portrait,
  .cio-director-modal__portrait img {
    min-height: 18rem;
    height: 18rem;
  }

  .cio-director-modal__portrait img {
    object-position: center 34%;
  }

  .cio-director-modal__content {
    padding: 2.75rem clamp(2rem, 7vw, 3.75rem) 3.25rem;
  }
}

@media (max-width: 47.9375rem) {
  .cio-navigation-shell.is-sticky {
    width: 100%;
    border-right: 0;
    border-left: 0;
    border-radius: 0 0 var(--cio-radius-md) var(--cio-radius-md);
  }

  .cio-search-overlay {
    padding: 0.65rem;
  }

  .cio-search-overlay__dialog {
    margin-top: 2.5rem;
    padding: 3.75rem 1.25rem 1.5rem;
    border-radius: 1.25rem;
  }

  .cio-search-overlay__close {
    top: var(--cio-space-3);
    right: var(--cio-space-3);
    width: 2.75rem;
    height: 2.75rem;
  }

  .cio-search-overlay__dialog h2 {
    font-size: clamp(1.8rem, 9vw, 2.4rem);
  }

  .cio-search-overlay__intro {
    margin-bottom: var(--cio-space-6);
    font-size: 0.9rem;
  }

  .cio-smart-search__field {
    grid-template-columns: auto minmax(0, 1fr);
  }

  .cio-smart-search__field > svg {
    margin-inline: var(--cio-space-3);
  }

  .cio-smart-search__field button {
    grid-column: 1 / -1;
    width: 100%;
    margin-top: var(--cio-space-2);
  }

  .cio-smart-search .awesomplete > ul {
    right: 0;
    left: -3.2rem;
  }

  .cio-search-overlay__hint {
    font-size: 0.72rem;
  }

  .is-search-page .com-finder__form {
    padding: 1.25rem;
    border-radius: var(--cio-radius-lg);
  }

  .is-search-page .com-finder__search .input-group {
    grid-template-columns: 1fr;
  }

  .cio-director-modal {
    padding: 0.65rem;
  }

  .cio-director-modal__dialog,
  .cio-director-modal__scroll {
    max-height: calc(100dvh - 1.3rem);
  }

  .cio-director-modal__dialog {
    border-radius: 1.25rem;
  }

  .cio-director-modal__portrait,
  .cio-director-modal__portrait img {
    min-height: 14.5rem;
    height: 14.5rem;
  }

  .cio-director-modal__placeholder {
    right: var(--cio-space-3);
    bottom: var(--cio-space-3);
    left: var(--cio-space-3);
    font-size: 0.62rem;
  }

  .cio-director-modal__content {
    padding: 2rem 1.35rem 2.5rem;
  }

  .cio-director-modal__eyebrow {
    margin-bottom: var(--cio-space-3);
    font-size: 0.65rem;
  }

  .cio-director-modal__content h2 {
    margin-bottom: var(--cio-space-5);
    font-size: clamp(1.75rem, 9vw, 2.35rem);
  }

  .cio-director-modal__article {
    font-size: 0.94rem;
    line-height: 1.7;
  }

  .cio-director-modal__article blockquote {
    padding-left: var(--cio-space-4);
    font-size: 1.22rem;
  }

  .cio-director-modal__close {
    top: var(--cio-space-3);
    right: var(--cio-space-3);
    width: 2.75rem;
    height: 2.75rem;
  }

  .is-director-page .com-content-article {
    padding: 1.75rem 1.35rem 2.25rem;
    border-radius: var(--cio-radius-lg);
  }
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }

  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
  }
}

@media (forced-colors: active) {
  .cio-button,
  .cio-navigation-shell,
  .cio-navigation-panel {
    border: 0.125rem solid CanvasText;
  }
}

/* ==========================================================
   CIO HERO PANORAMIC V1
   Immersive editorial composition.
   Keeps Joomla/carousel architecture unchanged.
   ========================================================== */

@media (min-width: 56.3125rem) {
  .cio-hero-carousel__slide {
    overflow: hidden;
  }

  .cio-hero__inner {
    display: block;
    min-height: 33.75rem;
  }

  .cio-hero__visual {
    position: absolute;
    z-index: 0;
    inset: 0;
    width: 100%;
    height: 100%;
    margin: 0;
  }

  .cio-hero__visual::after {
    display: none;
  }

  .cio-hero__visual img {
    position: absolute;
    z-index: 0;
    inset: 0;
    width: 100%;
    height: 100%;
    max-height: none;
    object-fit: cover;
    object-position: center center;
    border-radius: 0;
  }

  .cio-hero__wash {
    z-index: 1;
    background:
      linear-gradient(
        90deg,
        rgb(255 255 255 / 100%) 0%,
        rgb(255 255 255 / 99%) 28%,
        rgb(255 255 255 / 94%) 39%,
        rgb(255 255 255 / 66%) 49%,
        rgb(255 255 255 / 18%) 59%,
        transparent 69%
      );
  }

  .cio-hero__content {
    position: relative;
    z-index: 2;
    width: min(51%, 42rem);
    min-height: 33.75rem;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding:
      clamp(3rem, 5vw, 4.5rem)
      0
      clamp(2.2rem, 3vw, 3rem);
  }

  .cio-hero__title {
    max-width: 38rem;
  }

  .cio-hero__intro {
    max-width: 34rem;
  }

  .cio-hero__actions {
    position: relative;
    z-index: 3;
  }

  .cio-hero__quick-info {
    position: relative;
    z-index: 3;
  }

  .cio-hero__asset-note {
    display: none;
  }
}

@media (min-width: 56.3125rem) and (max-width: 74.9375rem) {
  .cio-hero__visual img {
    object-position: 56% center;
  }

  .cio-hero__content {
    width: min(55%, 38rem);
  }

  .cio-hero__wash {
    background:
      linear-gradient(
        90deg,
        rgb(255 255 255 / 100%) 0%,
        rgb(255 255 255 / 98%) 32%,
        rgb(255 255 255 / 88%) 43%,
        rgb(255 255 255 / 48%) 54%,
        transparent 68%
      );
  }
}

/*
 * Tablet/mobile:
 * preserve the editorial flow and use the panorama as a
 * full-width visual rather than forcing desktop overlay geometry.
 */
@media (max-width: 56.25rem) {
  .cio-hero__visual::after {
    display: none;
  }

  .cio-hero__visual img {
    width: 100%;
    object-position: 68% center;
  }

  .cio-hero__asset-note {
    display: none;
  }
}

@media (max-width: 47.9375rem) {
  .cio-hero__visual img {
    min-height: 18rem;
    height: min(66vw, 25rem);
    object-fit: cover;
    object-position: 72% center;
  }
}

/* CIO HERO CAROUSEL — PREMIUM DOTS V1 */
.cio-hero-carousel__controls {
  right: 50%;
  bottom: 1.25rem;
  gap: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  backdrop-filter: none;
  transform: translateX(50%);
}

.cio-hero-carousel__arrow {
  display: none;
}

.cio-hero-carousel__indicators {
  display: flex;
  gap: 0.35rem;
  align-items: center;
  justify-content: center;
}

.cio-hero-carousel__indicators button {
  min-width: 1.75rem;
  min-height: 1.75rem;
  border-radius: 50%;
}

.cio-hero-carousel__indicators button span {
  width: 0.42rem;
  height: 0.42rem;
  background: #b8d8ed;
}

.cio-hero-carousel__indicators button[aria-current="true"] span {
  width: 1.15rem;
  height: 0.42rem;
  background: var(--cio-blue);
}

.cio-hero-carousel__indicators button:hover {
  background: rgb(255 255 255 / 55%);
}

@media (max-width: 56.25rem) {
  .cio-hero-carousel__controls {
    right: 50%;
    bottom: 0.8rem;
    transform: translateX(50%);
  }
}

/* CIO HERO — EQUAL HEIGHT V1 */
@media (min-width: 56.3125rem) {
  .cio-hero-carousel__slide {
    height: clamp(34rem, 42vw, 41rem);
    min-height: 34rem;
  }

  .cio-hero-carousel__slide[hidden] {
    display: none;
  }

  .cio-hero-carousel__slide .cio-hero__inner {
    height: 100%;
  }
}

/* ==========================================================
   CIO HERO — MOBILE GEOMETRY V2
   Stabilises only the editorial zone above the panorama.
   The slide itself remains content-driven.
   ========================================================== */

@media (max-width: 47.9375rem) {
  .cio-hero-carousel__slide .cio-hero__content {
    box-sizing: border-box;
    min-height: 36.5rem;
    display: flex;
    flex-direction: column;
  }

  .cio-hero-carousel__slide .cio-hero__actions {
    margin-top: var(--cio-space-5);
    padding-top: 0;
  }

  .cio-hero-carousel__slide .cio-hero__quick-info {
    flex: 0 0 auto;
  }

  .cio-hero-carousel__slide .cio-hero__visual {
    flex: 0 0 auto;
  }

  .cio-hero-carousel__slide .cio-hero__visual img {
    display: block;
    width: 100%;
    height: min(66vw, 25rem);
    min-height: 18rem;
    object-fit: cover;
    object-position: 72% center;
  }
}

/* ==========================================================
   CIO HERO — MOBILE EDITORIAL BALANCE V1
   Keeps V2 common editorial geometry.
   Spare space on short slides is absorbed before quick info,
   preventing a large empty block immediately before the image.
   ========================================================== */

@media (max-width: 47.9375rem) {
  .cio-hero-carousel__slide .cio-hero__quick-info {
    margin-top: auto;
    padding-top: var(--cio-space-5);
  }
}

/* CIO ACTUALITES — PREMIUM EDITORIAL V1 */
.cio-news {
  padding: clamp(3.5rem, 7vw, 6.5rem) 0;
  background:
    radial-gradient(circle at 92% 4%, rgba(21, 116, 170, .08), transparent 28rem),
    linear-gradient(180deg, #f8fbfd 0%, #fff 32%);
}

.cio-news__header {
  max-width: 52rem;
  margin-bottom: clamp(2.5rem, 5vw, 4.5rem);
}

.cio-news__header h1 {
  margin: .35rem 0 1rem;
  color: var(--cio-color-ink, #102d3d);
  font-size: clamp(2.35rem, 5vw, 4.6rem);
  line-height: .98;
  letter-spacing: -.045em;
}

.cio-news__header > p:last-child {
  max-width: 44rem;
  margin: 0;
  color: #58717e;
  font-size: clamp(1rem, 1.7vw, 1.2rem);
  line-height: 1.75;
}

.cio-news__grid {
  display: grid;
  gap: clamp(2rem, 4vw, 3.5rem);
}

.cio-news-card {
  display: grid;
  grid-template-columns: minmax(19rem, .92fr) minmax(0, 1.08fr);
  min-height: 28rem;
  overflow: hidden;
  background: #fff;
  border: 1px solid rgba(16, 65, 89, .09);
  border-radius: 1.75rem;
  box-shadow: 0 1.5rem 4rem rgba(17, 63, 84, .08);
}

.cio-news-card__media {
  position: relative;
  display: block;
  min-height: 28rem;
  overflow: hidden;
  background:
    linear-gradient(145deg, #eaf5fa, #d6edf6);
}

.cio-news-card__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .5s ease;
}

.cio-news-card:hover .cio-news-card__media img {
  transform: scale(1.025);
}

.cio-news-card__placeholder {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: clamp(2rem, 5vw, 4rem);
  color: #fff;
  background:
    radial-gradient(circle at 78% 24%, rgba(255,255,255,.18), transparent 10rem),
    linear-gradient(145deg, #0b4867, #1680a9);
}

.cio-news-card__placeholder::before {
  content: "";
  position: absolute;
  width: 15rem;
  height: 15rem;
  top: 12%;
  right: 8%;
  border: 1px solid rgba(255,255,255,.2);
  border-radius: 50%;
  box-shadow:
    0 0 0 2.8rem rgba(255,255,255,.035),
    0 0 0 5.6rem rgba(255,255,255,.025);
}

.cio-news-card__placeholder span,
.cio-news-card__placeholder strong {
  position: relative;
  z-index: 1;
}

.cio-news-card__placeholder span {
  margin-bottom: .4rem;
  font-size: .78rem;
  font-weight: 800;
  letter-spacing: .18em;
}

.cio-news-card__placeholder strong {
  font-size: clamp(2rem, 4vw, 3.7rem);
  line-height: 1;
}

.cio-news-card__date {
  position: absolute;
  top: 1.4rem;
  left: 1.4rem;
  z-index: 2;
  display: grid;
  min-width: 4.5rem;
  padding: .75rem .65rem;
  text-align: center;
  color: #123f54;
  background: rgba(255,255,255,.96);
  border-radius: 1rem;
  box-shadow: 0 .75rem 2rem rgba(8, 45, 62, .16);
}

.cio-news-card__date strong {
  font-size: 1.65rem;
  line-height: 1;
}

.cio-news-card__date span {
  margin-top: .3rem;
  color: #167da5;
  font-size: .72rem;
  font-weight: 850;
  letter-spacing: .12em;
}

.cio-news-card__body {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: clamp(2rem, 5vw, 4.25rem);
}

.cio-news-card__meta {
  margin: 0 0 .85rem;
  color: #1680a9;
  font-size: .76rem;
  font-weight: 800;
  letter-spacing: .09em;
  text-transform: uppercase;
}

.cio-news-card__title {
  margin: 0;
  font-size: clamp(1.65rem, 3vw, 2.65rem);
  line-height: 1.08;
  letter-spacing: -.035em;
}

.cio-news-card__title a {
  color: #12394d;
  text-decoration: none;
}

.cio-news-card__title a:hover {
  color: #147da5;
}

.cio-news-card__title a:focus-visible,
.cio-news-card__link:focus-visible,
.cio-news-card__media:focus-visible {
  outline: .2rem solid #167fa7;
  outline-offset: .25rem;
}

.cio-news-card__excerpt {
  margin: 1.25rem 0 0;
  color: #5a707b;
  font-size: 1rem;
  line-height: 1.75;
}

.cio-news-card__link {
  align-self: flex-start;
  display: inline-flex;
  align-items: center;
  gap: .7rem;
  min-height: 2.75rem;
  margin-top: 1.7rem;
  color: #126e92;
  font-weight: 800;
  text-decoration: none;
}

.cio-news-card__link span:last-child {
  transition: transform .2s ease;
}

.cio-news-card__link:hover span:last-child {
  transform: translateX(.25rem);
}

.cio-news__pagination {
  margin-top: 3rem;
}

/* CIO ACTUALITES — ARTICLE V1 */
.cio-news-article {
  background: #fff;
}

.cio-news-article__hero {
  padding: clamp(3.5rem, 7vw, 6.75rem) 0 clamp(3rem, 6vw, 5.5rem);
  background:
    radial-gradient(circle at 85% 15%, rgba(31, 137, 179, .13), transparent 25rem),
    linear-gradient(135deg, #f4fafc, #fff);
}

.cio-news-article__heading {
  max-width: 62rem;
}

.cio-news-article__back {
  display: inline-flex;
  align-items: center;
  gap: .6rem;
  min-height: 2.75rem;
  margin-bottom: clamp(2rem, 4vw, 3.5rem);
  color: #166f92;
  font-weight: 750;
  text-decoration: none;
}

.cio-news-article__back:hover {
  text-decoration: underline;
  text-underline-offset: .25rem;
}

.cio-news-article__heading h1 {
  max-width: 60rem;
  margin: .45rem 0 1.25rem;
  color: #11384c;
  font-size: clamp(2.3rem, 5.2vw, 4.8rem);
  line-height: 1.02;
  letter-spacing: -.048em;
}

.cio-news-article__date {
  color: #617985;
  font-weight: 700;
}

.cio-news-article__layout {
  max-width: 76rem;
  padding-top: clamp(3rem, 6vw, 5rem);
  padding-bottom: clamp(4rem, 8vw, 7rem);
}

.cio-news-article__media {
  margin: 0 0 clamp(2.5rem, 5vw, 4.5rem);
  overflow: hidden;
  border-radius: 1.6rem;
  background: #eef5f8;
  box-shadow: 0 1.5rem 4rem rgba(16, 57, 76, .1);
}

.cio-news-article__media img {
  display: block;
  width: 100%;
  max-height: 44rem;
  object-fit: cover;
}

.cio-news-article__content {
  max-width: 50rem;
  margin: 0 auto;
}

.cio-news-article__prose {
  color: #294d5e;
  font-size: clamp(1.04rem, 1.6vw, 1.16rem);
  line-height: 1.9;
}

.cio-news-article__prose p {
  margin: 0 0 1.5em;
}

.cio-news-article__prose p:first-child {
  color: #173e51;
  font-size: clamp(1.16rem, 2vw, 1.35rem);
  line-height: 1.75;
}

/* CIO HERO — EDITORIAL ARTICLE LINK V1 */
.cio-hero__title-link {
  display: block;
  color: inherit;
  text-decoration: none;
  border-radius: .25rem;
}

.cio-hero__title-link > span {
  display: block;
}

.cio-hero__title-link:hover {
  color: #0e668d;
}

.cio-hero__title-link:focus-visible {
  outline: .2rem solid currentColor;
  outline-offset: .35rem;
}

@media (max-width: 47.9375rem) {
  .cio-news {
    padding: 3rem 0 4.5rem;
  }

  .cio-news__header {
    margin-bottom: 2.25rem;
  }

  .cio-news-card {
    grid-template-columns: 1fr;
    min-height: 0;
    border-radius: 1.35rem;
  }

  .cio-news-card__media {
    min-height: 18rem;
    aspect-ratio: 16 / 10;
  }

  .cio-news-card__body {
    padding: 1.75rem 1.35rem 2rem;
  }

  .cio-news-card__title {
    font-size: clamp(1.55rem, 7vw, 2.15rem);
  }

  .cio-news-article__hero {
    padding: 2.75rem 0 3.25rem;
  }

  .cio-news-article__heading h1 {
    font-size: clamp(2rem, 10vw, 3rem);
  }

  .cio-news-article__layout {
    padding-top: 2rem;
    padding-bottom: 4rem;
  }

  .cio-news-article__media {
    margin-bottom: 2rem;
    border-radius: 1.15rem;
  }

  .cio-news-article__content {
    padding-inline: .1rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .cio-news-card__media img,
  .cio-news-card__link span:last-child {
    transition: none;
  }
}

/* CIO ACTUALITES — PREMIUM COMPACT POLISH V2 */
@media (min-width: 64rem) {
  .cio-news__header {
    margin-bottom: clamp(2.25rem, 3.5vw, 3.5rem);
  }

  .cio-news__grid {
    gap: 2rem;
  }

  .cio-news-card {
    grid-template-columns: minmax(20rem, 43%) minmax(0, 57%);
    min-height: 0;
    height: clamp(25rem, 31vw, 28rem);
    border-radius: 1.5rem;
  }

  .cio-news-card__media {
    min-height: 0;
    height: 100%;
  }

  .cio-news-card__body {
    justify-content: center;
    padding: clamp(2rem, 3.4vw, 3.25rem);
  }

  .cio-news-card__meta {
    margin-bottom: .65rem;
    font-size: .7rem;
  }

  .cio-news-card__title {
    font-size: clamp(1.55rem, 2.25vw, 2.2rem);
    line-height: 1.08;
  }

  .cio-news-card__excerpt {
    display: -webkit-box;
    margin-top: 1rem;
    overflow: hidden;
    font-size: .96rem;
    line-height: 1.65;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 4;
  }

  .cio-news-card__link {
    margin-top: 1.15rem;
  }

  .cio-news-card__date {
    top: 1.15rem;
    left: 1.15rem;
    min-width: 4rem;
    padding: .65rem .55rem;
    border-radius: .85rem;
  }

  .cio-news-card__date strong {
    font-size: 1.45rem;
  }
}

.cio-news-article__prose h2 {
  margin: 2.35em 0 .75em;
  color: #123d52;
  font-size: clamp(1.45rem, 2.6vw, 2rem);
  line-height: 1.18;
  letter-spacing: -.025em;
}

.cio-news-article__event {
  margin: 1.5rem 0 2rem;
  padding: 1.25rem 1.4rem;
  background:
    linear-gradient(
      135deg,
      rgba(228, 44, 137, .07),
      rgba(22, 128, 169, .06)
    );
  border: 1px solid rgba(18, 111, 146, .12);
  border-left: .28rem solid #e42c89;
  border-radius: 1rem;
}

.cio-news-article__event p {
  margin: 0;
}

.cio-news-article__event p + p {
  margin-top: .45rem;
}

@media (max-width: 63.9375rem) {
  .cio-news-card {
    min-height: 0;
  }

  .cio-news-card__body {
    padding: clamp(1.6rem, 5vw, 2.5rem);
  }

  .cio-news-card__title {
    font-size: clamp(1.5rem, 4vw, 2.1rem);
  }
}

@media (max-width: 47.9375rem) {
  .cio-news {
    padding: 2.75rem 0 4rem;
  }

  .cio-news__header {
    margin-bottom: 2rem;
  }

  .cio-news__header h1 {
    font-size: clamp(2.25rem, 12vw, 3.35rem);
  }

  .cio-news-card {
    display: block;
    border-radius: 1.25rem;
  }

  .cio-news-card__media {
    min-height: 0;
    aspect-ratio: 16 / 10;
  }

  .cio-news-card__body {
    padding: 1.5rem;
  }

  .cio-news-card__excerpt {
    display: -webkit-box;
    overflow: hidden;
    line-height: 1.65;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 4;
  }

  .cio-news-card__link {
    margin-top: 1rem;
  }

  .cio-news-article__hero {
    padding-top: 2.75rem;
    padding-bottom: 2.75rem;
  }

  .cio-news-article__heading h1 {
    font-size: clamp(2.15rem, 11vw, 3.25rem);
  }

  .cio-news-article__layout {
    padding-top: 2rem;
  }

  .cio-news-article__media {
    margin-bottom: 2rem;
    border-radius: 1.2rem;
  }

  .cio-news-article__prose {
    font-size: 1.02rem;
    line-height: 1.8;
  }

  .cio-news-article__prose p:first-child {
    font-size: 1.12rem;
    line-height: 1.7;
  }

  .cio-news-article__prose h2 {
    margin-top: 2em;
    font-size: 1.5rem;
  }
}

/* CIO ARTICLE — TITLE BALANCE V2 */
.cio-news-article__heading {
  max-width: 58rem;
}

.cio-news-article__heading h1 {
  max-width: 56rem;
  font-size: clamp(2.35rem, 4.15vw, 3.9rem);
  line-height: 1.035;
  letter-spacing: -.042em;
}

/* CIO ARTICLE — SOCIAL SHARING V1 */
.cio-news-article__share {
  margin-top: clamp(3rem, 6vw, 4.75rem);
  padding-top: clamp(1.75rem, 3vw, 2.4rem);
  border-top: 1px solid rgba(16, 65, 89, .12);
}

.cio-news-article__share-heading {
  margin-bottom: 1.25rem;
}

.cio-news-article__share-title {
  margin: 0;
  color: #123d52;
  font-size: clamp(1.15rem, 2vw, 1.35rem);
  font-weight: 850;
  line-height: 1.2;
  letter-spacing: -.015em;
}

.cio-news-article__share-note {
  margin: .45rem 0 0;
  color: #6a7f89;
  font-size: .92rem;
  line-height: 1.55;
}

.cio-news-article__share-actions {
  display: flex;
  flex-wrap: wrap;
  gap: .7rem;
}

.cio-share-button {
  appearance: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .55rem;
  min-height: 2.9rem;
  padding: .68rem 1rem;
  color: #17475d;
  background: #fff;
  border: 1px solid rgba(17, 79, 105, .16);
  border-radius: .85rem;
  box-shadow: 0 .45rem 1.25rem rgba(15, 65, 87, .055);
  font: inherit;
  font-size: .88rem;
  font-weight: 780;
  line-height: 1;
  text-decoration: none;
  cursor: pointer;
  transition:
    transform .18s ease,
    border-color .18s ease,
    box-shadow .18s ease,
    background-color .18s ease;
}

.cio-share-button svg {
  width: 1.08rem;
  height: 1.08rem;
  flex: 0 0 auto;
  fill: currentColor;
}

.cio-share-button:hover {
  color: #126f94;
  background: #f8fcfd;
  border-color: rgba(18, 126, 165, .3);
  box-shadow: 0 .65rem 1.5rem rgba(15, 65, 87, .09);
  transform: translateY(-1px);
}

.cio-share-button:focus-visible {
  outline: .2rem solid #1680a9;
  outline-offset: .2rem;
}

.cio-share-button[data-cio-share="whatsapp"]:hover {
  color: #147a5b;
  border-color: rgba(20, 122, 91, .28);
}

.cio-share-button.is-copied {
  color: #147a5b;
  background: rgba(20, 122, 91, .06);
  border-color: rgba(20, 122, 91, .24);
}

.cio-news-article__share-status {
  min-height: 1.2rem;
  margin: .7rem 0 0;
  color: #147a5b;
  font-size: .82rem;
  font-weight: 700;
}

@media (max-width: 47.9375rem) {
  .cio-news-article__heading {
    max-width: 100%;
  }

  .cio-news-article__heading h1 {
    max-width: 100%;
    font-size: clamp(2rem, 9.3vw, 2.75rem);
    line-height: 1.06;
    letter-spacing: -.035em;
  }

  .cio-news-article__share {
    margin-top: 2.75rem;
  }

  .cio-news-article__share-actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .cio-share-button {
    width: 100%;
    padding-inline: .8rem;
  }
}

@media (max-width: 23rem) {
  .cio-news-article__share-actions {
    grid-template-columns: 1fr;
  }
}

/* CIO ARTICLE — FINAL TYPOGRAPHY AND SHARE GEOMETRY V1 */

/*
 * Editorial article titles:
 * authoritative without dominating the whole viewport.
 */
.cio-news-article__heading {
  max-width: 54rem;
}

.cio-news-article__heading h1 {
  max-width: 54rem;
  font-size: clamp(2.25rem, 3.55vw, 3.35rem);
  line-height: 1.06;
  letter-spacing: -.037em;
}

/*
 * Share controls:
 * deliberately NOT pill-shaped.
 */
.cio-share-button {
  min-height: 2.8rem;
  padding: .65rem .9rem;
  border-radius: .32rem;
  box-shadow: none;
}

.cio-share-button:hover {
  box-shadow: 0 .35rem .9rem rgba(15, 65, 87, .07);
}

/*
 * The share block remains editorial and quiet.
 */
.cio-news-article__share-actions {
  gap: .6rem;
}

@media (max-width: 47.9375rem) {
  .cio-news-article__heading h1 {
    font-size: clamp(1.95rem, 8.2vw, 2.5rem);
    line-height: 1.08;
    letter-spacing: -.03em;
  }

  .cio-share-button {
    border-radius: .3rem;
  }
}

/* CIO ARTICLE — EVENT STRAIGHT ACCENT V1 */
.cio-news-article__event {
  border-radius: 0;
  border-left: .28rem solid #e42c89;
}

/* CIO ARTICLE — COMPACT HERO AND VIEWS V1 */

/*
 * The article header follows its editorial content instead of
 * behaving like a full-height landing-page hero.
 */
.cio-news-article__hero {
  padding-top: clamp(2.75rem, 5vw, 4.5rem);
  padding-bottom: clamp(2.75rem, 5vw, 4.5rem);
  min-height: 0;
}

.cio-news-article__heading {
  min-height: 0;
}

/*
 * Date + Joomla native article hits.
 */
.cio-news-article__meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .65rem 1rem;
  margin-top: 1.15rem;
  color: #617985;
  font-size: .92rem;
  font-weight: 700;
}

.cio-news-article__date {
  color: inherit;
}

.cio-news-article__views {
  display: inline-flex;
  align-items: center;
  gap: .38rem;
}

.cio-news-article__views::before {
  content: "";
  width: .22rem;
  height: .22rem;
  margin-right: .15rem;
  background: currentColor;
  border-radius: 50%;
  opacity: .55;
}

.cio-news-article__views-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.cio-news-article__views-icon svg {
  display: block;
}

/*
 * Tighten the transition between article header and editorial media.
 */
.cio-news-article__layout {
  padding-top: clamp(2rem, 3.5vw, 3rem);
}

@media (max-width: 47.9375rem) {
  .cio-news-article__hero {
    padding-top: 2.5rem;
    padding-bottom: 2.5rem;
  }

  .cio-news-article__layout {
    padding-top: 1.75rem;
  }

  .cio-news-article__meta {
    margin-top: .9rem;
    font-size: .88rem;
  }
}

/* CIO EXPERTISE DIRECTORY — PREMIUM V1 */
.cio-expertise-directory {
  padding: clamp(3.5rem, 6vw, 6rem) 0 clamp(5rem, 8vw, 7rem);
  background:
    linear-gradient(180deg, #f5fbff 0, #fff 22rem);
}

.cio-expertise-directory__header {
  max-width: 52rem;
  margin-bottom: clamp(2.5rem, 5vw, 4.5rem);
}

.cio-expertise-directory__header h1 {
  max-width: 48rem;
  margin: .45rem 0 1rem;
  color: var(--cio-navy-deep);
  font-size: clamp(2.5rem, 5vw, 4.4rem);
  line-height: .98;
  letter-spacing: -.045em;
}

.cio-expertise-directory__header > p:last-child {
  max-width: 44rem;
  margin: 0;
  color: #466786;
  font-size: clamp(1rem, 1.5vw, 1.15rem);
  line-height: 1.7;
}

.cio-expertise-directory__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  border-top: .0625rem solid var(--cio-border);
}

.cio-expertise-directory-card {
  min-width: 0;
  border-bottom: .0625rem solid var(--cio-border);
}

.cio-expertise-directory-card:nth-child(odd) {
  border-right: .0625rem solid var(--cio-border);
}

.cio-expertise-directory-card__link {
  display: grid;
  min-height: 18rem;
  grid-template-columns: minmax(11rem, .78fr) minmax(0, 1.22fr);
  color: inherit;
  background: #fff;
  transition:
    background-color var(--cio-transition),
    box-shadow var(--cio-transition);
}

.cio-expertise-directory-card__link:hover,
.cio-expertise-directory-card__link:focus-visible {
  background: #f9fdff;
  box-shadow: inset .28rem 0 0 var(--cio-blue);
}

.cio-expertise-directory-card__media {
  display: block;
  min-height: 18rem;
  overflow: hidden;
  background: #edf6fb;
}

.cio-expertise-directory-card__media img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 18rem;
  object-fit: cover;
  transition: transform 320ms ease;
}

.cio-expertise-directory-card__link:hover
  .cio-expertise-directory-card__media img,
.cio-expertise-directory-card__link:focus-visible
  .cio-expertise-directory-card__media img {
  transform: scale(1.025);
}

.cio-expertise-directory-card__body {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  padding: clamp(1.6rem, 3vw, 2.5rem);
}

.cio-expertise-directory-card__number {
  margin-bottom: auto;
  color: #6d8ba6;
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .12em;
}

.cio-expertise-directory-card__body > strong {
  display: block;
  margin-top: 2rem;
  color: var(--cio-navy-deep);
  font-size: clamp(1.3rem, 2vw, 1.7rem);
  line-height: 1.1;
  letter-spacing: -.025em;
}

.cio-expertise-directory-card__intro {
  display: block;
  margin-top: .7rem;
  color: #4c6c89;
  font-size: .92rem;
  line-height: 1.55;
}

.cio-expertise-directory-card__cta {
  display: inline-flex;
  gap: .55rem;
  align-items: center;
  margin-top: 1.5rem;
  color: var(--cio-blue);
  font-size: .78rem;
  font-weight: 850;
}

/* CIO EXPERTISE ARTICLE — PREMIUM V1 */
.cio-expertise-article {
  background: #fff;
}

.cio-expertise-article__hero {
  padding: clamp(3rem, 5vw, 5rem) 0;
  background:
    linear-gradient(115deg, #f1faff 0%, #fff 72%);
  border-bottom: .0625rem solid #dcebf4;
}

.cio-expertise-article__heading {
  max-width: 58rem;
}

.cio-expertise-article__back {
  display: inline-flex;
  gap: .55rem;
  align-items: center;
  margin-bottom: clamp(2rem, 4vw, 3.5rem);
  color: #426987;
  font-size: .78rem;
  font-weight: 800;
}

.cio-expertise-article__back:hover,
.cio-expertise-article__back:focus-visible {
  color: var(--cio-blue);
}

.cio-expertise-article__heading h1 {
  max-width: 52rem;
  margin: .45rem 0 1.2rem;
  color: var(--cio-navy-deep);
  font-size: clamp(2.5rem, 5vw, 4.3rem);
  line-height: .98;
  letter-spacing: -.045em;
}

.cio-expertise-article__lead {
  max-width: 44rem;
  color: #466786;
  font-size: clamp(1.05rem, 1.6vw, 1.22rem);
  line-height: 1.65;
}

.cio-expertise-article__lead > :first-child {
  margin-top: 0;
}

.cio-expertise-article__lead > :last-child {
  margin-bottom: 0;
}

.cio-expertise-article__layout {
  padding-top: clamp(2.5rem, 5vw, 4.5rem);
  padding-bottom: clamp(5rem, 8vw, 7rem);
}

.cio-expertise-article__media {
  width: min(100%, 74rem);
  margin: 0 auto clamp(3rem, 6vw, 5rem);
  overflow: hidden;
  background: #edf6fb;
}

.cio-expertise-article__media img {
  display: block;
  width: 100%;
  max-height: 38rem;
  object-fit: cover;
}

.cio-expertise-article__content {
  width: min(100%, 52rem);
  margin-inline: auto;
}

.cio-expertise-article__prose {
  color: #294d6d;
  font-size: 1rem;
  line-height: 1.85;
}

.cio-expertise-article__prose h2 {
  margin: 2.8rem 0 1rem;
  color: var(--cio-navy-deep);
  font-size: clamp(1.55rem, 2.5vw, 2rem);
  line-height: 1.15;
  letter-spacing: -.025em;
}

.cio-expertise-article__prose h2::before {
  display: inline-block;
  width: .22rem;
  height: 1.15em;
  margin-right: .7rem;
  vertical-align: -.16em;
  background: var(--cio-blue);
  content: "";
}

.cio-expertise-article__pending {
  display: grid;
  grid-template-columns: .28rem minmax(0, 1fr);
  gap: 1.1rem;
  margin: 0 0 3rem;
  color: #496b87;
}

.cio-expertise-article__pending > span {
  background: var(--cio-blue);
}

.cio-expertise-article__pending p {
  margin: 0;
  padding: .15rem 0;
  line-height: 1.65;
}

.cio-expertise-article__orientation {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: clamp(2rem, 5vw, 4rem);
  align-items: center;
  margin-top: clamp(3.5rem, 7vw, 5.5rem);
  padding: clamp(2rem, 4vw, 3rem) 0;
  border-top: .0625rem solid var(--cio-border);
  border-bottom: .0625rem solid var(--cio-border);
}

.cio-expertise-article__orientation h2 {
  margin: .35rem 0 .65rem;
  color: var(--cio-navy-deep);
  font-size: clamp(1.55rem, 3vw, 2.15rem);
  line-height: 1.1;
}

.cio-expertise-article__orientation p:last-child {
  max-width: 35rem;
  margin: 0;
  color: #52718c;
  line-height: 1.6;
}

.cio-expertise-article__actions {
  display: flex;
  flex-direction: column;
  gap: .7rem;
  align-items: stretch;
}

.cio-expertise-article__actions .cio-button {
  min-width: 14rem;
  border-radius: .28rem;
}

@media (max-width: 56.25rem) {
  .cio-expertise-directory__grid {
    grid-template-columns: 1fr;
  }

  .cio-expertise-directory-card:nth-child(odd) {
    border-right: 0;
  }

  .cio-expertise-article__orientation {
    grid-template-columns: 1fr;
  }

  .cio-expertise-article__actions {
    flex-direction: row;
    flex-wrap: wrap;
  }
}

@media (max-width: 47.9375rem) {
  .cio-expertise-directory {
    padding-top: 3rem;
  }

  .cio-expertise-directory__header h1,
  .cio-expertise-article__heading h1 {
    font-size: clamp(2.25rem, 11vw, 3.1rem);
  }

  .cio-expertise-directory-card__link {
    min-height: 0;
    grid-template-columns: 7.8rem minmax(0, 1fr);
  }

  .cio-expertise-directory-card__media,
  .cio-expertise-directory-card__media img {
    min-height: 11rem;
  }

  .cio-expertise-directory-card__body {
    padding: 1.35rem;
  }

  .cio-expertise-directory-card__body > strong {
    margin-top: 1.1rem;
    font-size: 1.2rem;
  }

  .cio-expertise-directory-card__cta {
    margin-top: 1rem;
    font-size: .72rem;
  }

  .cio-expertise-article__hero {
    padding: 2.5rem 0 3rem;
  }

  .cio-expertise-article__back {
    margin-bottom: 2rem;
  }

  .cio-expertise-article__layout {
    padding-top: 1.75rem;
  }

  .cio-expertise-article__media {
    margin-bottom: 2.5rem;
  }

  .cio-expertise-article__media img {
    min-height: 16rem;
  }

  .cio-expertise-article__actions {
    flex-direction: column;
  }

  .cio-expertise-article__actions .cio-button {
    width: 100%;
    min-width: 0;
    justify-content: center;
    border-radius: .28rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .cio-expertise-directory-card__media img {
    transition: none;
  }

  .cio-expertise-directory-card__link:hover
    .cio-expertise-directory-card__media img,
  .cio-expertise-directory-card__link:focus-visible
    .cio-expertise-directory-card__media img {
    transform: none;
  }
}

/* ==========================================================
   CIO 3E-A4 — EXPERTISE EDITORIAL FOUNDATION
   Joomla article fulltext typography.
   ========================================================== */

.cio-expertise-article__prose > :first-child {
  margin-top: 0;
}

.cio-expertise-article__prose > :last-child {
  margin-bottom: 0;
}

.cio-expertise-article__prose p {
  margin: 0 0 1.25rem;
  line-height: 1.75;
}

.cio-expertise-article__prose h2 {
  margin-top: 2.75rem;
  margin-bottom: 1rem;
}

.cio-expertise-article__prose h3 {
  margin: 2rem 0 0.75rem;
  color: var(--cio-navy, #12304a);
  font-size: clamp(1.08rem, 1.5vw, 1.3rem);
  line-height: 1.3;
}

.cio-expertise-article__prose ul,
.cio-expertise-article__prose ol {
  margin: 0 0 1.5rem;
  padding-left: 1.35rem;
}

.cio-expertise-article__prose li {
  margin: 0.45rem 0;
  padding-left: 0.2rem;
  line-height: 1.65;
}

.cio-expertise-article__prose li::marker {
  color: var(--cio-blue, #1769aa);
}

.cio-expertise-article__prose strong {
  color: var(--cio-navy, #12304a);
  font-weight: 700;
}

.cio-expertise-article__prose a {
  color: var(--cio-blue, #1769aa);
  text-decoration-line: underline;
  text-decoration-thickness: 0.08em;
  text-underline-offset: 0.18em;
}

.cio-expertise-article__prose a:hover,
.cio-expertise-article__prose a:focus-visible {
  text-decoration-thickness: 0.14em;
}

.cio-expertise-article__prose blockquote {
  margin: 2rem 0;
  padding: 0.25rem 0 0.25rem 1.25rem;
  border-left: 3px solid var(--cio-blue, #1769aa);
  color: var(--cio-navy, #12304a);
}

.cio-expertise-article__prose blockquote > :last-child {
  margin-bottom: 0;
}

@media (max-width: 640px) {
  .cio-expertise-article__prose h2 {
    margin-top: 2.25rem;
  }

  .cio-expertise-article__prose h3 {
    margin-top: 1.75rem;
  }

  .cio-expertise-article__prose ul,
  .cio-expertise-article__prose ol {
    padding-left: 1.2rem;
  }
}

/* CIO 3E-A4.1 — Expertise mosaic micro-gap */
.cio-expertise-directory__grid {
  gap: 3px;
}

/* CIO RDV V1 — public request shell */
.cio-rdv {
  padding: clamp(3.5rem, 7vw, 7rem) 0;
  background: #fff;
}

.cio-rdv__intro {
  max-width: 58rem;
  margin-bottom: clamp(2.5rem, 5vw, 4.5rem);
}

.cio-rdv__intro h1 {
  max-width: 13ch;
  margin: .45rem 0 1.25rem;
  font-size: clamp(2.35rem, 5vw, 4.75rem);
  line-height: .98;
  letter-spacing: -.045em;
}

.cio-rdv__lead {
  max-width: 46rem;
  margin: 0;
  color: var(--cio-color-text-muted, #53616f);
  font-size: clamp(1.05rem, 1.6vw, 1.25rem);
  line-height: 1.7;
}

.cio-rdv__notice {
  max-width: 46rem;
  margin-top: 2rem;
  padding: .25rem 0 .25rem 1.25rem;
  border-left: 3px solid var(--cio-color-primary, #0067b1);
}

.cio-rdv__notice strong {
  display: block;
  margin-bottom: .35rem;
  color: var(--cio-color-heading, #102b46);
}

.cio-rdv__notice p {
  margin: 0;
  color: var(--cio-color-text-muted, #53616f);
  line-height: 1.65;
}

.cio-rdv-form {
  max-width: 72rem;
}

.cio-rdv-form__section {
  padding: clamp(2rem, 4vw, 3.5rem) 0;
  border-top: 1px solid rgba(16, 43, 70, .14);
}

.cio-rdv-form__heading {
  display: grid;
  grid-template-columns: 3.5rem minmax(0, 1fr);
  gap: 1rem;
  margin-bottom: 2rem;
}

.cio-rdv-form__step {
  color: var(--cio-color-primary, #0067b1);
  font-weight: 700;
  letter-spacing: .08em;
}

.cio-rdv-form__heading h2 {
  margin: 0 0 .45rem;
  color: var(--cio-color-heading, #102b46);
  font-size: clamp(1.45rem, 2.5vw, 2rem);
}

.cio-rdv-form__heading p {
  max-width: 42rem;
  margin: 0;
  color: var(--cio-color-text-muted, #53616f);
  line-height: 1.65;
}

.cio-rdv-choice {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 3px;
  margin: 0;
  padding: 0;
  border: 0;
}

.cio-rdv-choice__item {
  position: relative;
  display: flex;
  min-height: 5.5rem;
  gap: .9rem;
  align-items: flex-start;
  padding: 1.15rem 1.25rem;
  border: 1px solid rgba(16, 43, 70, .16);
  background: #fff;
  cursor: pointer;
}

.cio-rdv-choice__item:has(input:checked) {
  border-color: var(--cio-color-primary, #0067b1);
  box-shadow: inset 3px 0 0 var(--cio-color-primary, #0067b1);
}

.cio-rdv-choice__item input {
  width: 1.15rem;
  height: 1.15rem;
  margin: .15rem 0 0;
  accent-color: var(--cio-color-primary, #0067b1);
}

.cio-rdv-choice__item strong {
  display: block;
  color: var(--cio-color-heading, #102b46);
}

.cio-rdv-choice__item small {
  display: block;
  margin-top: .35rem;
  color: var(--cio-color-text-muted, #53616f);
  line-height: 1.45;
}

.cio-rdv-fields {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.25rem;
}

.cio-rdv-field--wide {
  grid-column: 1 / -1;
}

.cio-rdv-field label {
  display: block;
  margin-bottom: .5rem;
  color: var(--cio-color-heading, #102b46);
  font-weight: 700;
}

.cio-rdv-field__optional {
  color: var(--cio-color-text-muted, #687785);
  font-size: .82rem;
  font-weight: 400;
}

.cio-rdv-field input,
.cio-rdv-field select,
.cio-rdv-field textarea {
  box-sizing: border-box;
  width: 100%;
  min-height: 3.25rem;
  padding: .75rem .9rem;
  border: 1px solid rgba(16, 43, 70, .24);
  border-radius: 2px;
  background: #fff;
  color: var(--cio-color-heading, #102b46);
  font: inherit;
}

.cio-rdv-field textarea {
  min-height: 8.5rem;
  line-height: 1.55;
  resize: vertical;
}

.cio-rdv-field input:focus,
.cio-rdv-field select:focus,
.cio-rdv-field textarea:focus {
  border-color: var(--cio-color-primary, #0067b1);
  outline: 3px solid rgba(0, 103, 177, .14);
  outline-offset: 1px;
}

.cio-rdv-field__help {
  max-width: 48rem;
  margin: .65rem 0 0;
  color: var(--cio-color-text-muted, #687785);
  font-size: .88rem;
  line-height: 1.55;
}

#cio-rdv-orientation-details-wrap {
  margin-top: 1.25rem;
}

.cio-rdv-consent {
  display: flex;
  max-width: 50rem;
  gap: .85rem;
  align-items: flex-start;
  color: var(--cio-color-text, #243746);
  line-height: 1.6;
}

.cio-rdv-consent input {
  width: 1.2rem;
  height: 1.2rem;
  margin-top: .18rem;
  flex: 0 0 auto;
  accent-color: var(--cio-color-primary, #0067b1);
}

.cio-rdv-form__submit {
  margin-top: 2rem;
}

.cio-rdv-form__submit button[disabled] {
  opacity: .52;
  cursor: not-allowed;
  transform: none;
}

.cio-rdv-form__preopen {
  margin: .8rem 0 0;
  color: var(--cio-color-text-muted, #687785);
  font-size: .9rem;
}

@media (max-width: 760px) {
  .cio-rdv-choice,
  .cio-rdv-fields {
    grid-template-columns: 1fr;
  }

  .cio-rdv-field--wide {
    grid-column: auto;
  }

  .cio-rdv-form__heading {
    grid-template-columns: 2.5rem minmax(0, 1fr);
  }
}

/* CIO Phase 3F — À la une */
.cio-home-news {
  padding: clamp(4.5rem, 7vw, 7rem) 0;
  background: #f5f8fb;
}

.cio-home-news__header {
  display: flex;
  justify-content: space-between;
  gap: 2rem;
  align-items: flex-end;
  margin-bottom: 2rem;
}

.cio-home-news__eyebrow {
  margin: 0 0 .6rem;
  color: var(--cio-color-primary, #0067b1);
  font-size: .78rem;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.cio-home-news__header h2 {
  margin: 0;
  color: var(--cio-color-heading, #102b46);
  font-size: clamp(2rem, 4vw, 3.25rem);
  line-height: 1.05;
}

.cio-home-news__lead {
  max-width: 45rem;
  margin: .9rem 0 0;
  color: var(--cio-color-text-muted, #687785);
  line-height: 1.65;
}

.cio-home-news__all {
  display: inline-flex;
  min-height: 3rem;
  gap: .8rem;
  align-items: center;
  flex: 0 0 auto;
  padding: .75rem 1.05rem;
  border: 1px solid rgba(16, 43, 70, .22);
  border-radius: 2px;
  color: var(--cio-color-heading, #102b46);
  font-weight: 700;
  text-decoration: none;
}

.cio-home-news__layout {
  display: grid;
  grid-template-columns: minmax(0, 1.85fr) minmax(20rem, .9fr);
  gap: 1.35rem;
}

.cio-home-news__featured {
  position: relative;
  min-width: 0;
  min-height: 31rem;
  overflow: hidden;
  background: #102b46;
}

.cio-home-news__slide {
  position: absolute;
  inset: 0;
}

.cio-home-news__slide[hidden] {
  display: none;
}

.cio-home-news__featured-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.cio-home-news__shade {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    180deg,
    rgba(5, 25, 44, .08) 20%,
    rgba(5, 25, 44, .88) 100%
  );
}

.cio-home-news__featured-content {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1;
  max-width: 52rem;
  padding: clamp(2rem, 4vw, 3.5rem);
  color: #fff;
}

.cio-home-news__meta,
.cio-home-news-card__meta {
  display: flex;
  gap: .8rem;
  align-items: center;
  font-size: .76rem;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.cio-home-news__meta span {
  padding-left: .7rem;
  border-left: 3px solid #62b8ea;
}

.cio-home-news__featured-content h3 {
  max-width: 48rem;
  margin: .8rem 0;
  font-size: clamp(1.75rem, 3.1vw, 3rem);
  line-height: 1.08;
}

.cio-home-news__featured-content h3 a,
.cio-home-news__read {
  color: inherit;
  text-decoration: none;
}

.cio-home-news__featured-content p {
  max-width: 44rem;
  margin: 0 0 1.2rem;
  color: rgba(255,255,255,.88);
  line-height: 1.6;
}

.cio-home-news__read {
  display: inline-flex;
  min-height: 2.75rem;
  gap: .7rem;
  align-items: center;
  font-weight: 800;
}

.cio-home-news__controls {
  position: absolute;
  right: 1.25rem;
  bottom: 1.25rem;
  z-index: 2;
  display: flex;
  gap: .65rem;
  align-items: center;
}

.cio-home-news__controls > button {
  width: 2.75rem;
  height: 2.75rem;
  border: 1px solid rgba(255,255,255,.5);
  border-radius: 2px;
  background: rgba(5,25,44,.48);
  color: #fff;
  cursor: pointer;
}

.cio-home-news__indicators {
  display: flex;
  gap: .4rem;
  align-items: center;
}

.cio-home-news__indicators button {
  width: .55rem;
  min-width: .55rem;
  height: .55rem;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: rgba(255,255,255,.55);
  cursor: pointer;
}

.cio-home-news__indicators button.is-active {
  width: 1.75rem;
  border-radius: 1rem;
  background: #fff;
}

.cio-home-news__secondary {
  display: grid;
  grid-template-rows: repeat(3, minmax(0, 1fr));
  gap: .75rem;
}

.cio-home-news-card {
  display: grid;
  grid-template-columns: 9rem minmax(0, 1fr);
  min-height: 10rem;
  overflow: hidden;
  border: 1px solid rgba(16, 43, 70, .12);
  background: #fff;
}

.cio-home-news-card__media {
  min-height: 100%;
}

.cio-home-news-card__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.cio-home-news-card__content {
  position: relative;
  min-width: 0;
  padding: 1.15rem 3.2rem 1.15rem 1.2rem;
}

.cio-home-news-card__meta {
  color: var(--cio-color-text-muted, #687785);
  font-size: .68rem;
}

.cio-home-news-card__meta span {
  color: var(--cio-color-primary, #0067b1);
}

.cio-home-news-card h3 {
  margin: .65rem 0 0;
  color: var(--cio-color-heading, #102b46);
  font-size: 1rem;
  line-height: 1.35;
}

.cio-home-news-card h3 a {
  color: inherit;
  text-decoration: none;
}

.cio-home-news-card__arrow {
  position: absolute;
  right: .8rem;
  bottom: .8rem;
  display: grid;
  width: 2.75rem;
  height: 2.75rem;
  place-items: center;
  color: var(--cio-color-primary, #0067b1);
  font-size: 1.25rem;
  text-decoration: none;
}

@media (max-width: 980px) {
  .cio-home-news__layout {
    grid-template-columns: 1fr;
  }

  .cio-home-news__featured {
    min-height: 29rem;
  }

  .cio-home-news__secondary {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    grid-template-rows: auto;
  }

  .cio-home-news-card {
    grid-template-columns: 1fr;
  }

  .cio-home-news-card__media {
    height: 10rem;
  }
}

@media (max-width: 700px) {
  .cio-home-news {
    padding: 3.5rem 0;
  }

  .cio-home-news__header {
    align-items: flex-start;
    flex-direction: column;
  }

  .cio-home-news__featured {
    min-height: 27rem;
  }

  .cio-home-news__featured-content {
    padding: 1.5rem;
  }

  .cio-home-news__featured-content p {
    display: none;
  }

  .cio-home-news__controls {
    right: 1rem;
    bottom: 1rem;
  }

  .cio-home-news__secondary {
    grid-template-columns: 1fr;
  }

  .cio-home-news-card {
    grid-template-columns: 8rem minmax(0, 1fr);
  }

  .cio-home-news-card__media {
    height: auto;
  }
}

/* CIO Phase 3F — muted homepage video preview */
.cio-home-news__video-preview {
  position: absolute;
  z-index: 1;
  inset: 0;
  overflow: hidden;
  background:
    linear-gradient(
      180deg,
      rgba(5, 27, 48, 0.08) 0%,
      rgba(5, 27, 48, 0.22) 55%,
      rgba(5, 27, 48, 0.58) 100%
    ),
    #082844;
}

.cio-home-news__video-preview iframe {
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
  background: #082844;
  pointer-events: none;
}

.cio-home-news__video-slide::after {
  content: "";
  position: absolute;
  z-index: 2;
  inset: 0;
  pointer-events: none;
  background:
    linear-gradient(
      180deg,
      rgba(5, 23, 40, 0.02) 0%,
      rgba(5, 23, 40, 0.10) 52%,
      rgba(5, 23, 40, 0.46) 100%
    );
}

.cio-home-news__video-hit {
  position: absolute;
  z-index: 4;
  inset: 0;
  display: flex;
  align-items: flex-end;
  justify-content: flex-start;
  padding: 2rem;
  color: #fff;
  text-decoration: none;
  cursor: pointer;
}

.cio-home-news__video-hit::before {
  content: "";
  position: absolute;
  inset: 0;
}

.cio-home-news__video-hit:focus-visible {
  outline: 3px solid #fff;
  outline-offset: -6px;
}

.cio-home-news__video-slide-content {
  position: relative;
  z-index: 1;
  display: flex;
  max-width: 34rem;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.7rem;
  pointer-events: none;
}

.cio-home-news__video-kicker {
  margin: 0;
  color: #fff;
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.cio-home-news__video-play {
  display: inline-flex;
  align-items: center;
  gap: 0.7rem;
  min-height: 3rem;
  padding: 0.65rem 0.95rem;
  border: 1px solid rgba(255, 255, 255, 0.74);
  border-radius: 3px;
  background: rgba(7, 25, 43, 0.78);
  color: #fff;
  font: inherit;
  font-weight: 750;
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  transition:
    background-color 180ms ease,
    border-color 180ms ease;
}

.cio-home-news__video-hit:hover .cio-home-news__video-play {
  border-color: #fff;
  background: rgba(7, 25, 43, 0.96);
}

.cio-home-news__video-icon {
  display: grid;
  width: 2.2rem;
  height: 2.2rem;
  flex: 0 0 auto;
  place-items: center;
  border: 1px solid rgba(255, 255, 255, 0.72);
  border-radius: 50%;
  font-size: 0.78rem;
  line-height: 1;
}

.cio-home-news__video-slide:not(.is-video-previewing)
  .cio-home-news__video-preview::after {
  content: "";
  position: absolute;
  inset: 0;
  background: #082844;
}

@media (max-width: 700px) {
  .cio-home-news__video-hit {
    padding: 1.25rem;
  }

  .cio-home-news__video-play {
    min-height: 2.75rem;
    padding: 0.55rem 0.75rem;
  }

  .cio-home-news__video-icon {
    width: 2rem;
    height: 2rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .cio-home-news__video-play {
    transition: none;
  }
}

/* CIO Phase 3F — final video UX */
.cio-home-news__controls {
  z-index: 10;
}

.cio-home-news__controls button {
  position: relative;
  z-index: 11;
}

.cio-news-article__video {
  position: relative;
  width: 100%;
  margin: 0;
  overflow: hidden;
  aspect-ratio: 16 / 9;
  border-radius: 3px;
  background: #071c32;
  box-shadow: 0 1.25rem 3.5rem rgba(8, 37, 63, 0.12);
}

.cio-news-article__video iframe {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
  background: #071c32;
}

@media (max-width: 700px) {
  .cio-news-article__video {
    border-radius: 2px;
  }
}

/* CIO Phase 3F — premium Actualites carousel controls */
.cio-home-news__controls {
  right: 1.15rem;
  bottom: 1.15rem;
  z-index: 10;
  display: inline-flex;
  align-items: center;
  gap: .25rem;
  min-height: 3.35rem;
  padding: .3rem;
  border: 1px solid rgba(255, 255, 255, .22);
  border-radius: 3px;
  background: rgba(6, 27, 47, .68);
  box-shadow:
    0 .75rem 2rem rgba(3, 18, 31, .16),
    inset 0 1px 0 rgba(255, 255, 255, .08);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}

.cio-home-news__controls > button {
  position: relative;
  z-index: 11;
  display: grid;
  width: 2.7rem;
  height: 2.7rem;
  padding: 0;
  place-items: center;
  border: 0;
  border-radius: 2px;
  background: transparent;
  color: rgba(255, 255, 255, .92);
  font-size: 1.05rem;
  line-height: 1;
  cursor: pointer;
  transition:
    background-color 180ms ease,
    color 180ms ease,
    transform 180ms ease;
}

.cio-home-news__controls > button:hover {
  background: rgba(255, 255, 255, .1);
  color: #fff;
}

.cio-home-news__controls > button:first-child:hover {
  transform: translateX(-2px);
}

.cio-home-news__controls > button:last-child:hover {
  transform: translateX(2px);
}

.cio-home-news__controls > button:focus-visible {
  outline: 2px solid #fff;
  outline-offset: -3px;
  background: rgba(255, 255, 255, .12);
}

.cio-home-news__indicators {
  display: flex;
  min-width: 5.1rem;
  height: 2.7rem;
  gap: .5rem;
  align-items: center;
  justify-content: center;
  padding: 0 .45rem;
  border-right: 1px solid rgba(255, 255, 255, .12);
  border-left: 1px solid rgba(255, 255, 255, .12);
}

.cio-home-news__indicators button {
  position: relative;
  z-index: 11;
  width: .42rem;
  min-width: .42rem;
  height: .42rem;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: rgba(255, 255, 255, .46);
  box-shadow: none;
  cursor: pointer;
  transition:
    width 220ms ease,
    background-color 220ms ease,
    opacity 220ms ease,
    transform 220ms ease;
}

.cio-home-news__indicators button:hover {
  background: rgba(255, 255, 255, .8);
  transform: scale(1.12);
}

.cio-home-news__indicators button.is-active {
  width: 1.65rem;
  min-width: 1.65rem;
  height: .22rem;
  border-radius: 1px;
  background: #fff;
  transform: none;
}

.cio-home-news__indicators button:focus-visible {
  outline: 2px solid #fff;
  outline-offset: 4px;
}

@media (max-width: 700px) {
  .cio-home-news__controls {
    right: .85rem;
    bottom: .85rem;
    min-height: 3rem;
    padding: .2rem;
  }

  .cio-home-news__controls > button {
    width: 2.55rem;
    height: 2.55rem;
  }

  .cio-home-news__indicators {
    min-width: 4.7rem;
    height: 2.55rem;
    gap: .4rem;
    padding: 0 .35rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .cio-home-news__controls > button,
  .cio-home-news__indicators button {
    transition: none;
  }
}

/* CIO Homepage — unified premium section headings */
.cio-home-section .cio-section-heading--centered,
.cio-expertises .cio-section-heading--centered {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 100%;
  gap: 0;
  margin-bottom: clamp(1.8rem, 3vw, 2.5rem);
  text-align: center;
}

.cio-home-section .cio-section-heading h2,
.cio-expertises .cio-section-heading h2,
.cio-home-news__header h2 {
  color: var(--cio-navy-deep, #053767);
  font-size: clamp(1.65rem, 2.35vw, 2rem);
  font-weight: 900;
  line-height: 1.12;
  letter-spacing: -.025em;
}

.cio-home-section .cio-section-heading--centered::after,
.cio-expertises .cio-section-heading--centered::after {
  width: 3.35rem;
  height: .18rem;
  margin: .9rem auto 0;
  border-radius: 1px;
  background: var(--cio-blue, #078edc);
  content: "";
}

.cio-expertises .cio-section-heading--split > a {
  position: absolute;
  top: .15rem;
  right: 0;
  margin: 0;
}

.cio-home-news__header {
  position: relative;
  display: block;
  margin-bottom: clamp(1.8rem, 3vw, 2.5rem);
  text-align: center;
}

.cio-home-news__header > div {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.cio-home-news__eyebrow {
  margin: 0 0 .55rem;
  text-align: center;
}

.cio-home-news__header h2 {
  position: relative;
  margin: 0;
  text-align: center;
}

.cio-home-news__header h2::after {
  display: block;
  width: 3.35rem;
  height: .18rem;
  margin: .9rem auto 0;
  border-radius: 1px;
  background: var(--cio-blue, #078edc);
  content: "";
}

.cio-home-news__lead {
  max-width: 46rem;
  margin: .9rem auto 0;
  text-align: center;
}

.cio-home-news__all {
  position: absolute;
  top: .1rem;
  right: 0;
}

/* CIO Phase 3F — refined editorial news navigation */
.cio-home-news__controls {
  right: 1rem;
  bottom: 1rem;
  min-height: 2.95rem;
  gap: .08rem;
  padding: .18rem;
  border-color: rgba(255, 255, 255, .16);
  background: rgba(5, 27, 48, .52);
  box-shadow:
    0 .55rem 1.6rem rgba(3, 18, 31, .13),
    inset 0 1px 0 rgba(255, 255, 255, .06);
  backdrop-filter: blur(9px);
  -webkit-backdrop-filter: blur(9px);
}

.cio-home-news__controls > button {
  width: 2.55rem;
  height: 2.55rem;
  font-size: 1rem;
}

.cio-home-news__indicators {
  min-width: 4.65rem;
  height: 2.55rem;
  gap: .42rem;
  padding: 0 .4rem;
  border-right-color: rgba(255, 255, 255, .09);
  border-left-color: rgba(255, 255, 255, .09);
}

.cio-home-news__indicators button {
  width: .36rem;
  min-width: .36rem;
  height: .36rem;
  background: rgba(255, 255, 255, .48);
}

.cio-home-news__indicators button.is-active {
  width: 1.45rem;
  min-width: 1.45rem;
  height: .16rem;
  background: #fff;
}

@media (max-width: 980px) {
  .cio-expertises .cio-section-heading--split > a,
  .cio-home-news__all {
    position: static;
    margin-top: 1rem;
  }

  .cio-home-news__header {
    display: flex;
    flex-direction: column;
    align-items: center;
  }
}

@media (max-width: 700px) {
  .cio-home-section .cio-section-heading h2,
  .cio-expertises .cio-section-heading h2,
  .cio-home-news__header h2 {
    font-size: clamp(1.55rem, 7vw, 1.8rem);
  }

  .cio-home-news__controls {
    right: .75rem;
    bottom: .75rem;
  }
}

/* CIO Phase 3F — cinematic editorial carousel */
.cio-home-news__featured {
  isolation: isolate;
}

.cio-home-news__slide {
  transform: translateZ(0);
}

.cio-home-news__slide.is-active {
  animation: cioNewsReveal 620ms cubic-bezier(.22, .61, .36, 1) both;
}

.cio-home-news__slide.is-active .cio-home-news__featured-media img {
  animation: cioNewsImageDrift 7s cubic-bezier(.2, .55, .3, 1) both;
}

.cio-home-news__slide::after {
  transition: opacity 500ms ease;
}

@keyframes cioNewsReveal {
  from {
    opacity: .72;
    transform: scale(.992);
  }

  to {
    opacity: 1;
    transform: scale(1);
  }
}

@keyframes cioNewsImageDrift {
  from {
    transform: scale(1.015);
  }

  to {
    transform: scale(1.045);
  }
}

/* CIO Phase 3F — cinematic navigation */
.cio-home-news__controls {
  right: .9rem;
  bottom: .9rem;
  min-height: 2.8rem;
  gap: 0;
  padding: .12rem;
  border: 1px solid rgba(255, 255, 255, .14);
  border-radius: 2px;
  background: rgba(4, 23, 41, .42);
  box-shadow:
    0 .7rem 2rem rgba(0, 15, 28, .16),
    inset 0 1px 0 rgba(255, 255, 255, .06);
  backdrop-filter: blur(14px) saturate(125%);
  -webkit-backdrop-filter: blur(14px) saturate(125%);
}

.cio-home-news__controls > button {
  width: 2.65rem;
  height: 2.55rem;
  background: transparent;
  font-size: 1rem;
}

.cio-home-news__controls > button:hover {
  background: rgba(255, 255, 255, .09);
}

.cio-home-news__indicators {
  position: relative;
  min-width: 5.5rem;
  height: 2.55rem;
  gap: .42rem;
  padding: 0 .7rem;
  overflow: hidden;
  border-right: 1px solid rgba(255, 255, 255, .08);
  border-left: 1px solid rgba(255, 255, 255, .08);
}

.cio-home-news__indicators button {
  width: .34rem;
  min-width: .34rem;
  height: .34rem;
  background: rgba(255, 255, 255, .4);
}

.cio-home-news__indicators button.is-active {
  width: .34rem;
  min-width: .34rem;
  height: .34rem;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 0 0 .22rem rgba(255, 255, 255, .12);
}

.cio-home-news__progress {
  position: absolute;
  right: .7rem;
  bottom: .28rem;
  left: .7rem;
  height: 1px;
  overflow: hidden;
  background: rgba(255, 255, 255, .16);
  pointer-events: none;
}

.cio-home-news__progress > span {
  display: block;
  width: 100%;
  height: 100%;
  background: rgba(255, 255, 255, .9);
  transform: scaleX(0);
  transform-origin: left center;
}

.cio-home-news__slide.is-active ~ .cio-home-news__controls .cio-home-news__progress > span {
  animation: cioNewsProgress 6s linear forwards;
}

@keyframes cioNewsProgress {
  from {
    transform: scaleX(0);
  }

  to {
    transform: scaleX(1);
  }
}

@media (max-width: 700px) {
  .cio-home-news__controls {
    right: .65rem;
    bottom: .65rem;
  }

  .cio-home-news__indicators {
    min-width: 5rem;
    padding-right: .6rem;
    padding-left: .6rem;
  }

  .cio-home-news__progress {
    right: .6rem;
    left: .6rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .cio-home-news__slide.is-active,
  .cio-home-news__slide.is-active .cio-home-news__featured-media img,
  .cio-home-news__progress > span {
    animation: none;
  }
}

/* CIO Phase 3F — final institutional carousel polish */
.cio-home-news__indicators {
  min-width: 5.7rem;
  height: 2.65rem;
  gap: .52rem;
  padding: 0 .78rem .34rem;
}

.cio-home-news__indicators button {
  width: .36rem;
  min-width: .36rem;
  height: .36rem;
  border-radius: 50%;
  background: rgba(255, 255, 255, .42);
}

.cio-home-news__indicators button:hover {
  background: rgba(255, 255, 255, .78);
}

.cio-home-news__indicators button.is-active {
  width: .4rem;
  min-width: .4rem;
  height: .4rem;
  border-radius: 50%;
  background: #fff;
  box-shadow:
    0 0 0 .2rem rgba(255, 255, 255, .1),
    0 0 .7rem rgba(255, 255, 255, .12);
}

.cio-home-news__progress {
  right: .7rem;
  bottom: .22rem;
  left: .7rem;
  height: 2px;
  border-radius: 0;
  background: rgba(255, 255, 255, .13);
}

.cio-home-news__progress > span {
  background: #29a8e0;
  box-shadow: 0 0 .35rem rgba(41, 168, 224, .18);
}

@media (max-width: 700px) {
  .cio-home-news__indicators {
    min-width: 5.2rem;
    height: 2.55rem;
    gap: .46rem;
    padding: 0 .65rem .32rem;
  }

  .cio-home-news__progress {
    right: .6rem;
    bottom: .2rem;
    left: .6rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .cio-home-news__progress > span {
    transform: scaleX(1);
  }
}

/* =========================================================
   CIO PHASE 3G — CLASSIC INSTITUTIONAL FOOTER V2
   ========================================================= */

.cio-footer {
  margin-top: clamp(4rem, 7vw, 6.5rem);
  background: #071f3d;
  color: rgba(255, 255, 255, 0.76);
}

.cio-footer__main {
  padding: clamp(3.25rem, 6vw, 4.75rem) 0;
}

.cio-footer__grid {
  display: grid;
  grid-template-columns:
    minmax(18rem, 1.45fr)
    minmax(12rem, 0.8fr)
    minmax(15rem, 1fr);
  gap: clamp(3rem, 7vw, 7rem);
  align-items: start;
}

.cio-footer__about {
  max-width: 34rem;
}

.cio-footer__brand {
  display: inline-flex;
  align-items: center;
  gap: 1.15rem;
  color: #fff;
  text-decoration: none;
}

.cio-footer__brand img {
  width: auto;
  height: 4rem;
  object-fit: contain;
}

.cio-footer__brand span {
  max-width: 23rem;
  color: #fff;
  font-size: clamp(1rem, 1.6vw, 1.25rem);
  font-weight: 750;
  line-height: 1.3;
  letter-spacing: 0.01em;
}

.cio-footer__description {
  max-width: 31rem;
  margin: 1.35rem 0 0;
  color: rgba(255, 255, 255, 0.68);
  line-height: 1.7;
}

.cio-footer__heading {
  margin: 0 0 1.25rem;
  color: #fff;
  font-size: 1rem;
  font-weight: 750;
  line-height: 1.3;
}

.cio-footer__links nav {
  display: grid;
  gap: 0.8rem;
}

.cio-footer__links a,
.cio-footer__contact a {
  width: fit-content;
  color: rgba(255, 255, 255, 0.7);
  text-decoration: none;
  transition: color 160ms ease;
}

.cio-footer__links a:hover,
.cio-footer__links a:focus-visible,
.cio-footer__contact a:hover,
.cio-footer__contact a:focus-visible {
  color: #fff;
}

.cio-footer__contact-list {
  display: grid;
  gap: 0.8rem;
}

.cio-footer__contact-list p {
  display: flex;
  align-items: flex-start;
  gap: 0.7rem;
  margin: 0;
  color: rgba(255, 255, 255, 0.7);
  line-height: 1.5;
}

.cio-footer__contact-list p > span {
  flex: 0 0 auto;
  color: #69c9f1;
}

.cio-footer__social {
  display: flex;
  flex-wrap: wrap;
  gap: 0.7rem;
  margin-top: 1.6rem;
}

.cio-footer__social a {
  display: inline-grid;
  width: 2.55rem;
  height: 2.55rem;
  place-items: center;
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.07);
  color: #fff;
  text-decoration: none;
  transition:
    background 160ms ease,
    border-color 160ms ease,
    transform 160ms ease;
}

.cio-footer__social a:hover,
.cio-footer__social a:focus-visible {
  border-color: #69c9f1;
  background: rgba(105, 201, 241, 0.16);
  transform: translateY(-2px);
}

.cio-footer__social svg {
  width: 1.05rem;
  height: 1.05rem;
  fill: currentColor;
}

.cio-footer__bottom {
  border-top: 1px solid rgba(255, 255, 255, 0.14);
}

.cio-footer__bottom-inner {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  gap: clamp(1.5rem, 4vw, 3.5rem);
  align-items: center;
  min-height: 5rem;
}

.cio-footer__legal {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem 1.15rem;
  align-items: center;
  color: rgba(255, 255, 255, 0.5);
  font-size: 0.82rem;
}

.cio-footer__legal a {
  color: rgba(255, 255, 255, 0.62);
  text-decoration: none;
}

.cio-footer__legal a:hover,
.cio-footer__legal a:focus-visible {
  color: #fff;
}

.cio-footer__signature {
  display: inline-flex;
  gap: 0.4rem;
  align-items: baseline;
  color: rgba(255, 255, 255, 0.45);
  font-size: 0.8rem;
  white-space: nowrap;
}

.cio-footer__signature strong {
  color: rgba(255, 255, 255, 0.78);
  font-weight: 750;
  letter-spacing: 0.035em;
}

.cio-footer__back-top {
  display: inline-grid;
  width: 2.9rem;
  height: 2.9rem;
  place-items: center;
  border: 2px solid #36b6eb;
  border-radius: 50%;
  color: #fff;
  font-size: 1.35rem;
  font-weight: 700;
  line-height: 1;
  text-decoration: none;
}

.cio-footer__back-top:hover,
.cio-footer__back-top:focus-visible {
  background: rgba(54, 182, 235, 0.14);
}

.cio-footer a:focus-visible {
  outline: 2px solid #69c9f1;
  outline-offset: 4px;
}

@media (max-width: 900px) {
  .cio-footer__grid {
    grid-template-columns: 1.4fr 1fr;
  }

  .cio-footer__contact {
    grid-column: 1 / -1;
    padding-top: 2rem;
    border-top: 1px solid rgba(255, 255, 255, 0.12);
  }

  .cio-footer__bottom-inner {
    grid-template-columns: 1fr auto;
  }

  .cio-footer__signature {
    grid-column: 1;
    grid-row: 2;
    padding-bottom: 1.25rem;
  }

  .cio-footer__back-top {
    grid-column: 2;
    grid-row: 1 / span 2;
  }
}

@media (max-width: 620px) {
  .cio-footer {
    margin-top: 3.5rem;
  }

  .cio-footer__grid {
    grid-template-columns: 1fr;
    gap: 2.5rem;
  }

  .cio-footer__contact {
    grid-column: auto;
  }

  .cio-footer__brand {
    align-items: flex-start;
  }

  .cio-footer__brand img {
    height: 3.5rem;
  }

  .cio-footer__bottom-inner {
    grid-template-columns: 1fr auto;
    padding-top: 1.25rem;
    padding-bottom: 1.25rem;
  }

  .cio-footer__legal {
    align-items: flex-start;
    flex-direction: column;
  }

  .cio-footer__signature {
    grid-column: 1;
    padding-bottom: 0;
  }

  .cio-footer__back-top {
    grid-column: 2;
    grid-row: 1 / span 2;
  }
}

@media (prefers-reduced-motion: reduce) {
  .cio-footer__social a {
    transition: none;
  }
}

/* =========================================================
   CIO PHASE 3G-B2 — ASSISTANT COLLISION SAFETY
   Keep the fixed Assistant CIO outside footer controls.
   ========================================================= */

@media (min-width: 901px) {
  .cio-footer__bottom-inner {
    grid-template-columns:
      minmax(0, 1fr)
      auto
      auto
      clamp(10.5rem, 14vw, 13rem);
    gap: clamp(1.25rem, 2.5vw, 2.5rem);
  }

  .cio-footer__legal {
    grid-column: 1;
  }

  .cio-footer__signature {
    grid-column: 2;
  }

  .cio-footer__back-top {
    grid-column: 3;
  }
}

/* CIO PHASE 3G — PREMIUM LE CIO DROPDOWN V1 */

@media (min-width: 901px) {
  .cio-main-nav .mod-menu > li.deeper.parent {
    position: relative;
  }

  .cio-main-nav .mod-menu > li.deeper.parent > a {
    display: inline-flex;
    align-items: center;
    gap: 0.42rem;
  }

  .cio-main-nav .mod-menu > li.deeper.parent > a::before {
    content: "";
    width: 0.42rem;
    height: 0.42rem;
    margin-top: -0.2rem;
    border-right: 0.1rem solid currentColor;
    border-bottom: 0.1rem solid currentColor;
    transform: rotate(45deg);
    transform-origin: center;
    transition: transform 180ms ease;
    order: 2;
  }

  .cio-main-nav .mod-menu > li.deeper.parent > .mod-menu__sub {
    position: absolute;
    z-index: 80;
    top: calc(100% + 0.7rem);
    left: 0;
    display: block;
    width: max-content;
    min-width: 18.5rem;
    max-width: min(24rem, calc(100vw - 2rem));
    margin: 0;
    padding: 0.55rem 0;
    list-style: none;
    background: #fff;
    border: 1px solid rgb(8 55 103 / 10%);
    border-top: 0.2rem solid var(--cio-primary, #0b78bd);
    border-radius: 0.3rem;
    box-shadow:
      0 1.25rem 3rem rgb(6 37 68 / 14%),
      0 0.25rem 0.8rem rgb(6 37 68 / 7%);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(0.45rem);
    transition:
      opacity 160ms ease,
      transform 160ms ease,
      visibility 160ms ease;
  }

  .cio-main-nav .mod-menu > li.deeper.parent > .mod-menu__sub::before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: -0.9rem;
    height: 0.9rem;
  }

  .cio-main-nav .mod-menu > li.deeper.parent:hover > .mod-menu__sub,
  .cio-main-nav .mod-menu > li.deeper.parent:focus-within > .mod-menu__sub {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateY(0);
  }

  .cio-main-nav .mod-menu > li.deeper.parent:hover > a::before,
  .cio-main-nav .mod-menu > li.deeper.parent:focus-within > a::before {
    transform: rotate(225deg);
    margin-top: 0.2rem;
  }

  .cio-main-nav .mod-menu > li.deeper.parent > .mod-menu__sub > li {
    display: block;
    margin: 0;
    padding: 0;
  }

  .cio-main-nav .mod-menu > li.deeper.parent > .mod-menu__sub > li > a,
  .cio-main-nav .mod-menu > li.deeper.parent > .mod-menu__sub > li > span {
    position: relative;
    display: flex;
    align-items: center;
    width: 100%;
    min-height: 3rem;
    padding: 0.72rem 1.15rem 0.72rem 1.35rem;
    color: #123c65;
    font-size: 0.92rem;
    font-weight: 650;
    line-height: 1.35;
    text-decoration: none;
    white-space: normal;
    background: transparent;
    transition:
      color 150ms ease,
      background-color 150ms ease,
      padding-left 150ms ease;
  }

  .cio-main-nav .mod-menu > li.deeper.parent > .mod-menu__sub > li > a::before {
    content: "";
    position: absolute;
    top: 0.72rem;
    bottom: 0.72rem;
    left: 0;
    width: 0.18rem;
    background: var(--cio-primary, #0b8ed8);
    opacity: 0;
    transform: scaleY(0.35);
    transform-origin: center;
    transition:
      opacity 150ms ease,
      transform 150ms ease;
  }

  .cio-main-nav .mod-menu > li.deeper.parent > .mod-menu__sub > li > a:hover,
  .cio-main-nav .mod-menu > li.deeper.parent > .mod-menu__sub > li > a:focus-visible,
  .cio-main-nav .mod-menu > li.deeper.parent > .mod-menu__sub > li.active > a,
  .cio-main-nav .mod-menu > li.deeper.parent > .mod-menu__sub > li.current > a {
    color: #075f9b;
    background: rgb(8 142 216 / 6%);
    padding-left: 1.55rem;
    outline: none;
  }

  .cio-main-nav .mod-menu > li.deeper.parent > .mod-menu__sub > li > a:hover::before,
  .cio-main-nav .mod-menu > li.deeper.parent > .mod-menu__sub > li > a:focus-visible::before,
  .cio-main-nav .mod-menu > li.deeper.parent > .mod-menu__sub > li.active > a::before,
  .cio-main-nav .mod-menu > li.deeper.parent > .mod-menu__sub > li.current > a::before {
    opacity: 1;
    transform: scaleY(1);
  }
}

@media (max-width: 900px) {
  .cio-main-nav .mod-menu > li.deeper.parent > .mod-menu__sub {
    display: grid;
    gap: 0.15rem;
    width: 100%;
    margin: 0.25rem 0 0.4rem;
    padding: 0 0 0 1rem;
    list-style: none;
    border-left: 0.15rem solid rgb(11 142 216 / 22%);
  }

  .cio-main-nav .mod-menu > li.deeper.parent > .mod-menu__sub > li {
    margin: 0;
  }

  .cio-main-nav .mod-menu > li.deeper.parent > .mod-menu__sub > li > a {
    display: block;
    min-height: 2.75rem;
    padding: 0.7rem 0.8rem;
    color: #234c72;
    font-size: 0.92rem;
    font-weight: 600;
    line-height: 1.35;
    text-decoration: none;
  }

  .cio-main-nav .mod-menu > li.deeper.parent > .mod-menu__sub > li > a:hover,
  .cio-main-nav .mod-menu > li.deeper.parent > .mod-menu__sub > li > a:focus-visible {
    color: #0878bd;
  }
}

@media (prefers-reduced-motion: reduce) {
  .cio-main-nav .mod-menu > li.deeper.parent > a::before,
  .cio-main-nav .mod-menu > li.deeper.parent > .mod-menu__sub,
  .cio-main-nav .mod-menu > li.deeper.parent > .mod-menu__sub > li > a,
  .cio-main-nav .mod-menu > li.deeper.parent > .mod-menu__sub > li > a::before {
    transition: none;
  }
}

/* CIO PHASE 3G — INSTITUTIONAL + LEGAL ARTICLE LAYOUTS */

.cio-institutional-article,
.cio-legal-article {
  color: #173b5d;
  background: #fff;
}

.cio-institutional-article__hero,
.cio-legal-article__hero {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at 86% 18%, rgb(24 143 207 / 8%), transparent 24rem),
    linear-gradient(135deg, #f8fcff 0%, #f2f8fc 100%);
  border-bottom: 1px solid rgb(7 56 103 / 7%);
}

.cio-institutional-article__hero-inner,
.cio-legal-article__hero-inner {
  padding-top: clamp(4rem, 7vw, 6.5rem);
  padding-bottom: clamp(3.5rem, 6vw, 5.5rem);
}

.cio-institutional-article__title,
.cio-legal-article__title {
  max-width: 58rem;
  margin: 0.7rem 0 1.15rem;
  color: #0a3558;
  font-size: clamp(2.4rem, 5vw, 4.35rem);
  font-weight: 760;
  line-height: 1.04;
  letter-spacing: -0.04em;
}

.cio-institutional-article__accent,
.cio-legal-article__accent {
  display: block;
  width: 4.25rem;
  height: 0.2rem;
  background: #1297df;
}

.cio-institutional-article__layout,
.cio-legal-article__layout {
  padding-top: clamp(3rem, 6vw, 5.25rem);
  padding-bottom: clamp(4.5rem, 8vw, 7rem);
}

.cio-institutional-article__content,
.cio-legal-article__content {
  max-width: 56rem;
  margin: 0 auto;
}

.cio-institutional-article__prose,
.cio-legal-article__prose {
  color: #294b68;
  font-size: clamp(1rem, 1.25vw, 1.12rem);
  line-height: 1.9;
}

.cio-institutional-article__prose > :first-child,
.cio-legal-article__prose > :first-child {
  margin-top: 0;
}

.cio-institutional-article__prose > :last-child,
.cio-legal-article__prose > :last-child {
  margin-bottom: 0;
}

.cio-institutional-article__prose h2,
.cio-institutional-article__prose h3,
.cio-legal-article__prose h2,
.cio-legal-article__prose h3 {
  color: #0a3558;
  line-height: 1.2;
}

.cio-institutional-article__prose a,
.cio-legal-article__prose a {
  color: #087fc4;
  text-decoration-thickness: 0.08em;
  text-underline-offset: 0.18em;
}

@media (max-width: 700px) {
  .cio-institutional-article__hero-inner,
  .cio-legal-article__hero-inner {
    padding-top: 3rem;
    padding-bottom: 3rem;
  }

  .cio-institutional-article__layout,
  .cio-legal-article__layout {
    padding-top: 2.5rem;
    padding-bottom: 4rem;
  }
}

/* CIO PHASE 3G — INSTITUTIONAL PREMIUM FINISH V1 */

.cio-institutional-article__content {
  max-width: 50rem;
}

.cio-institutional-article__prose {
  font-size: clamp(1.02rem, 1.18vw, 1.1rem);
  line-height: 1.85;
}

.cio-institutional-article__prose p {
  margin: 0 0 1.35rem;
}

.cio-institutional-article__prose > p:first-child {
  margin-bottom: 1.75rem;
  color: #173f61;
  font-size: clamp(1.08rem, 1.45vw, 1.22rem);
  line-height: 1.72;
}

.cio-institutional-article__prose > p:first-child strong:first-child {
  color: #0a3558;
  font-weight: 750;
}

.cio-institutional-article__prose h2 {
  margin: 2.8rem 0 1rem;
  font-size: clamp(1.45rem, 2.4vw, 1.9rem);
  letter-spacing: -0.025em;
}

.cio-institutional-article__prose h3 {
  margin: 2.2rem 0 0.85rem;
  font-size: clamp(1.18rem, 1.8vw, 1.4rem);
}

.cio-institutional-next {
  display: grid;
  grid-template-columns: 0.22rem minmax(0, 1fr);
  gap: clamp(1.3rem, 2.5vw, 2rem);
  max-width: 50rem;
  margin: clamp(3.5rem, 7vw, 5.5rem) auto 0;
  padding: clamp(1.5rem, 3vw, 2.1rem) 0;
  border-top: 1px solid rgb(7 56 103 / 10%);
}

.cio-institutional-next__accent {
  width: 100%;
  min-height: 100%;
  background: #1297df;
}

.cio-institutional-next__body {
  min-width: 0;
}

.cio-institutional-next__eyebrow {
  margin: 0 0 0.45rem;
  color: #147caf;
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.16em;
}

.cio-institutional-next__title {
  margin: 0;
  color: #0a3558;
  font-size: clamp(1.45rem, 2.4vw, 1.85rem);
  line-height: 1.15;
  letter-spacing: -0.025em;
}

.cio-institutional-next__links {
  display: flex;
  flex-wrap: wrap;
  gap: 0.6rem 1.75rem;
  margin-top: 1.2rem;
}

.cio-institutional-next__links a {
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
  min-height: 2.75rem;
  color: #075f9b;
  font-weight: 720;
  line-height: 1.35;
  text-decoration: none;
}

.cio-institutional-next__links a span {
  transition: transform 160ms ease;
}

.cio-institutional-next__links a:hover,
.cio-institutional-next__links a:focus-visible {
  color: #0a3558;
  text-decoration: underline;
  text-decoration-thickness: 0.08em;
  text-underline-offset: 0.24em;
}

.cio-institutional-next__links a:hover span,
.cio-institutional-next__links a:focus-visible span {
  transform: translateX(0.2rem);
}

@media (max-width: 700px) {
  .cio-institutional-article__content,
  .cio-institutional-next {
    max-width: 100%;
  }

  .cio-institutional-next {
    grid-template-columns: 0.18rem minmax(0, 1fr);
    margin-top: 3rem;
  }

  .cio-institutional-next__links {
    display: grid;
    gap: 0.2rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .cio-institutional-next__links a span {
    transition: none;
  }
}

/* CIO PHASE 3G — INSTITUTIONAL COMPACT V2 */

/*
 * Institutional pages only.
 * Tightens vertical rhythm without changing the validated visual language.
 */

.cio-institutional-article__hero-inner {
  padding-top: clamp(3rem, 5vw, 4.4rem);
  padding-bottom: clamp(2.8rem, 4.5vw, 4rem);
}

.cio-institutional-article__layout {
  padding-top: clamp(2.5rem, 4vw, 3.75rem);
  padding-bottom: clamp(2.75rem, 4.5vw, 4rem);
}

.cio-institutional-article__prose p {
  margin-bottom: 1.1rem;
}

.cio-institutional-article__prose > p:first-child {
  margin-bottom: 1.35rem;
}

.cio-institutional-next {
  margin-top: clamp(2rem, 3.5vw, 2.75rem);
  padding-top: clamp(1.35rem, 2vw, 1.75rem);
  padding-bottom: 0;
}

@media (max-width: 700px) {
  .cio-institutional-article__hero-inner {
    padding-top: 2.5rem;
    padding-bottom: 2.5rem;
  }

  .cio-institutional-article__layout {
    padding-top: 2.25rem;
    padding-bottom: 3rem;
  }

  .cio-institutional-next {
    margin-top: 2rem;
    padding-top: 1.35rem;
  }
}

/* CIO PHASE 3G — SELF-CONTAINED PAGE SPACING WS3 */

/*
 * Institutional and legal article layouts own their vertical rhythm.
 * Remove the generic Joomla component wrapper padding only when one
 * of these self-contained layouts is rendered.
 */
.cio-page-content:has(> .cio-institutional-article),
.cio-page-content:has(> .cio-legal-article) {
  padding-top: 0;
  padding-bottom: 0;
}


/* CIO PHASE 3G — INSTITUTIONAL FOOTER GAP WS4 */

/*
 * Institutional pages only.
 * Removes the excessive empty tail after the final navigation block.
 * Footer component itself remains unchanged.
 */

.cio-institutional-article__layout {
  padding-bottom: 2rem;
}

.cio-institutional-next {
  margin-bottom: 0;
}

.cio-institutional-article {
  margin-bottom: 0;
}

@media (max-width: 700px) {
  .cio-institutional-article__layout {
    padding-bottom: 1.75rem;
  }

  .cio-institutional-next {
    margin-bottom: 0;
  }
}


/* ==========================================================
   CIO INTERNAL PAGE SYSTEM V1 — DS-2
   Internal pages only.
   Homepage components are intentionally excluded.
   ========================================================== */

/*
 * Actualités and Expertise directory already own their vertical rhythm.
 * Prevent the generic Joomla component wrapper from adding a second
 * large vertical padding around these self-contained page sections.
 */

.cio-page-content:has(> .cio-news),
.cio-page-content:has(> .cio-expertise-directory) {
  padding-top: clamp(1.5rem, 3vw, 2.5rem);
  padding-bottom: 0;
}

/*
 * Shared internal-page heading language.
 * Matches the validated institutional hierarchy without affecting
 * homepage section headings or homepage hero typography.
 */

.cio-news__header h1,
.cio-expertise-directory__header h1 {
  max-width: 58rem;
  margin: 0.7rem 0 0;
  color: #0a3558;
  font-size: clamp(2.4rem, 5vw, 4.35rem);
  font-weight: 760;
  line-height: 1.04;
  letter-spacing: -0.04em;
}

/*
 * Institutional blue signature line.
 * Attached directly to the internal-page H1 so the descriptive
 * paragraph remains visually separated below it.
 */

.cio-news__header h1::after,
.cio-expertise-directory__header h1::after {
  display: block;
  width: 4.25rem;
  height: 0.2rem;
  margin-top: 1.15rem;
  background: #1297df;
  content: "";
}

/*
 * Consistent relationship between title signature and introduction.
 */

.cio-news__header > p:last-child,
.cio-expertise-directory__header > p:last-child {
  margin-top: 1.35rem;
}

/*
 * Unified internal-page opening rhythm.
 * These values apply only to the directory/listing pages.
 */

.cio-news,
.cio-expertise-directory {
  padding-top: clamp(3rem, 5vw, 4.4rem);
}

.cio-news__header,
.cio-expertise-directory__header {
  margin-bottom: clamp(2.5rem, 4vw, 3.75rem);
}

/*
 * Mobile safe opening.
 * Institutional pages receive extra breathing room so the eyebrow
 * remains clearly visible below the mobile navigation.
 */

@media (max-width: 700px) {
  .cio-institutional-article__hero-inner {
    padding-top: 3.5rem;
  }

  .cio-news,
  .cio-expertise-directory {
    padding-top: 3.5rem;
  }

  .cio-news__header h1,
  .cio-expertise-directory__header h1 {
    margin-top: 0.55rem;
    font-size: clamp(2.35rem, 11vw, 3.1rem);
    line-height: 1.04;
  }

  .cio-news__header h1::after,
  .cio-expertise-directory__header h1::after {
    width: 3.75rem;
    margin-top: 1rem;
  }

  .cio-news__header > p:last-child,
  .cio-expertise-directory__header > p:last-child {
    margin-top: 1.2rem;
  }
}

/* CIO INTERNAL PAGE SYSTEM V1 — DS-2C
   Institutional mobile safe offset only.
   Compensates for the mobile navigation overlap without modifying
   the navigation or any homepage component. */

@media (max-width: 700px) {
  .cio-institutional-article__hero-inner {
    padding-top: calc(3.5rem + 1.25rem);
  }
}

/* ==========================================================
   CIO INTERNAL PAGE SYSTEM V1 — DS-2E
   Institutional desktop hero safe rhythm.
   Preserves the compact hero while keeping its eyebrow
   clearly below the overlapping navigation.
   Mobile remains governed by DS-2C.
   Homepage components are intentionally excluded.
   ========================================================== */

@media (min-width: 701px) {
  .cio-institutional-article__hero-inner {
    padding-top: calc(2.75rem + 2rem);
    padding-bottom: 1rem;
  }
}

/* ==========================================================
   CIO PHASE 3F.1 — THUMBNAIL-DRIVEN NEWS CAROUSEL
   Secondary editorial cards become the visual carousel
   controllers. Links retain their native article navigation.
   ========================================================== */

.cio-home-news-card[data-cio-news-controller] {
  position: relative;
  isolation: isolate;
  border-color: rgba(16, 43, 70, .12);
  transition:
    border-color 180ms ease,
    background-color 180ms ease,
    box-shadow 180ms ease,
    transform 180ms ease;
}

.cio-home-news-card[data-cio-news-controller]::before {
  position: absolute;
  z-index: 3;
  top: 0;
  bottom: 0;
  left: 0;
  width: 3px;
  background: #078edc;
  content: "";
  opacity: 0;
  transform: scaleY(.35);
  transform-origin: center;
  transition:
    opacity 180ms ease,
    transform 220ms ease;
  pointer-events: none;
}

.cio-home-news-card[data-cio-news-controller].is-active {
  border-color: rgba(7, 142, 220, .42);
  background: #f3f9fd;
  box-shadow: 0 .75rem 2rem rgba(7, 62, 105, .08);
}

.cio-home-news-card[data-cio-news-controller].is-active::before {
  opacity: 1;
  transform: scaleY(1);
}

.cio-home-news-card[data-cio-news-controller]:hover {
  border-color: rgba(7, 142, 220, .34);
}

.cio-home-news-card[data-cio-news-controller]:focus-within {
  outline: 2px solid rgba(7, 142, 220, .72);
  outline-offset: 2px;
}

.cio-home-news-card__progress {
  position: absolute;
  z-index: 4;
  right: 0;
  bottom: 0;
  left: 0;
  height: 2px;
  overflow: hidden;
  background: rgba(7, 142, 220, .12);
  opacity: 0;
  pointer-events: none;
}

.cio-home-news-card__progress > span {
  display: block;
  width: 100%;
  height: 100%;
  background: #078edc;
  transform: scaleX(0);
  transform-origin: left center;
}

.cio-home-news-card.is-active .cio-home-news-card__progress {
  opacity: 1;
}

.cio-home-news-card.is-active .cio-home-news-card__progress > span {
  animation: cioNewsThumbnailProgress 6s linear forwards;
}

@keyframes cioNewsThumbnailProgress {
  from {
    transform: scaleX(0);
  }

  to {
    transform: scaleX(1);
  }
}

@media (hover: none), (pointer: coarse) {
  .cio-home-news-card[data-cio-news-controller]:hover {
    border-color: rgba(16, 43, 70, .12);
  }

  .cio-home-news-card[data-cio-news-controller].is-active {
    border-color: rgba(7, 142, 220, .42);
  }
}

@media (prefers-reduced-motion: reduce) {
  .cio-home-news-card[data-cio-news-controller],
  .cio-home-news-card[data-cio-news-controller]::before {
    transition: none;
  }

  .cio-home-news-card.is-active .cio-home-news-card__progress > span {
    animation: none;
    transform: scaleX(1);
  }
}

/* ==========================================================
   CIO PHASE 3F.1 — STRONG ACTIVE BLUE
   Active editorial panel only; thumbnail image stays natural.
   ========================================================== */

.cio-home-news-card[data-cio-news-controller].is-active {
  border-color: #078edc;
  background: #fff;
  box-shadow: 0 .85rem 2.2rem rgba(7, 62, 105, .12);
}

.cio-home-news-card[data-cio-news-controller].is-active::before {
  opacity: 0;
}

.cio-home-news-card[data-cio-news-controller].is-active
  .cio-home-news-card__content {
  background: #078edc;
}

.cio-home-news-card[data-cio-news-controller].is-active
  .cio-home-news-card__meta,
.cio-home-news-card[data-cio-news-controller].is-active
  .cio-home-news-card__meta span,
.cio-home-news-card[data-cio-news-controller].is-active
  h3,
.cio-home-news-card[data-cio-news-controller].is-active
  h3 a,
.cio-home-news-card[data-cio-news-controller].is-active
  .cio-home-news-card__arrow {
  color: #fff;
}

.cio-home-news-card[data-cio-news-controller].is-active
  .cio-home-news-card__meta {
  opacity: .88;
}

.cio-home-news-card[data-cio-news-controller].is-active
  .cio-home-news-card__progress {
  background: rgba(255, 255, 255, .28);
}

.cio-home-news-card[data-cio-news-controller].is-active
  .cio-home-news-card__progress > span {
  background: #fff;
}

@media (prefers-reduced-motion: no-preference) {
  .cio-home-news-card__content {
    transition:
      background-color 180ms ease,
      color 180ms ease;
  }
}

/* ==========================================================
   CIO PHASE 3F.1 — VALIDATED PREMIUM MODEL
   Visual reference approved 2026-10-03.
   CSS only. Carousel behaviour remains unchanged.
   ========================================================== */

.cio-home-news__layout {
  gap: 1.15rem;
}

.cio-home-news__featured {
  border: 1px solid rgba(8, 72, 119, .12);
  border-radius: 8px;
  box-shadow:
    0 1.15rem 2.8rem rgba(5, 48, 83, .12),
    0 .2rem .7rem rgba(5, 48, 83, .06);
}

.cio-home-news__slide {
  border-radius: inherit;
}

.cio-home-news__featured-image,
.cio-home-news__video-preview,
.cio-home-news__video-preview iframe {
  border-radius: inherit;
}

.cio-home-news-card {
  border-color: rgba(8, 72, 119, .12);
  border-radius: 7px;
  box-shadow:
    0 .45rem 1.25rem rgba(5, 48, 83, .055);
}

.cio-home-news-card__media {
  overflow: hidden;
}

.cio-home-news-card__media img {
  transition:
    transform 420ms cubic-bezier(.22, .61, .36, 1),
    filter 220ms ease;
}

.cio-home-news-card[data-cio-news-controller]:hover
  .cio-home-news-card__media img {
  transform: scale(1.025);
}

.cio-home-news-card[data-cio-news-controller].is-active {
  border-color: rgba(7, 142, 220, .72);
  background: #fff;
  box-shadow:
    0 .85rem 2rem rgba(7, 105, 170, .18),
    0 0 0 1px rgba(7, 142, 220, .08);
}

.cio-home-news-card[data-cio-news-controller].is-active
  .cio-home-news-card__content {
  background:
    linear-gradient(
      135deg,
      #078edc 0%,
      #0579c5 100%
    );
}

.cio-home-news-card[data-cio-news-controller].is-active
  .cio-home-news-card__meta,
.cio-home-news-card[data-cio-news-controller].is-active
  .cio-home-news-card__meta span,
.cio-home-news-card[data-cio-news-controller].is-active
  h3,
.cio-home-news-card[data-cio-news-controller].is-active
  h3 a,
.cio-home-news-card[data-cio-news-controller].is-active
  .cio-home-news-card__arrow {
  color: #fff;
}

.cio-home-news-card[data-cio-news-controller].is-active
  .cio-home-news-card__meta {
  opacity: .92;
}

.cio-home-news-card[data-cio-news-controller].is-active
  .cio-home-news-card__arrow {
  transform: translateX(2px);
}

.cio-home-news-card__progress {
  right: .7rem;
  bottom: .42rem;
  left: calc(9rem + .7rem);
  height: 3px;
  border-radius: 2px;
  background: rgba(255, 255, 255, .32);
}

.cio-home-news-card__progress > span {
  border-radius: inherit;
  background: #fff;
  box-shadow: 0 0 .45rem rgba(255, 255, 255, .25);
}

.cio-home-news-card[data-cio-news-controller] {
  cursor: pointer;
}

@media (max-width: 980px) {
  .cio-home-news-card__progress {
    right: .6rem;
    left: .6rem;
  }
}

@media (max-width: 700px) {
  .cio-home-news__featured {
    border-radius: 6px;
  }

  .cio-home-news-card {
    border-radius: 5px;
  }

  .cio-home-news-card__progress {
    right: .6rem;
    left: calc(8rem + .6rem);
  }
}

@media (prefers-reduced-motion: reduce) {
  .cio-home-news-card__media img,
  .cio-home-news-card[data-cio-news-controller].is-active
    .cio-home-news-card__arrow {
    transition: none;
    transform: none;
  }
}

/* ==========================================================
   CIO PHASE 3F.1 — FEATURED BLUE FRAME
   Approved visual adjustment: color only.
   Border thickness and geometry remain unchanged.
   ========================================================== */

.cio-home-news__featured {
  border-color: #078edc;
}

/* ==========================================================
   CIO HOMEPAGE — NEWS CTA EXPERTISE ALIGNMENT
   "Voir toutes les actualités" adopts the same lightweight
   editorial language as "Voir toutes nos expertises".
   ========================================================== */

.cio-home-news__all {
  min-height: 0;
  gap: .65rem;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  color: var(--cio-blue, #078edc);
  font-weight: 800;
  line-height: 1.4;
}

.cio-home-news__all:hover {
  color: var(--cio-navy-deep, #053767);
  background: transparent;
}

.cio-home-news__all > span:last-child {
  transition: transform 180ms ease;
}

.cio-home-news__all:hover > span:last-child {
  transform: translateX(3px);
}

.cio-home-news__all:focus-visible {
  outline: 2px solid var(--cio-blue, #078edc);
  outline-offset: 5px;
}

@media (prefers-reduced-motion: reduce) {
  .cio-home-news__all > span:last-child {
    transition: none;
  }

  .cio-home-news__all:hover > span:last-child {
    transform: none;
  }
}

/* ==========================================================
   CIO HOMEPAGE — FINAL CTA AND EXPERTISE RHYTHM
   Shared editorial CTA scale + additional desktop breathing
   room above the Expertise heading.
   ========================================================== */

.cio-expertises .cio-section-heading--split > a,
.cio-home-news__all {
  color: var(--cio-blue, #078edc);
  font-size: .875rem;
  font-weight: 700;
  line-height: 1.4;
  text-decoration: none;
}

@media (min-width: 701px) {
  .cio-expertises {
    padding-top: var(--cio-space-8);
  }
}

@media (prefers-reduced-motion: no-preference) {
  .cio-expertises .cio-section-heading--split > a {
    transition: color 180ms ease;
  }
}

.cio-expertises .cio-section-heading--split > a:hover {
  color: var(--cio-navy-deep, #053767);
}

/* =========================================================
   CIO PHASE 3G — FOOTER PREMIUM V3
   ========================================================= */

@media (min-width: 901px) {
  .cio-footer__main {
    padding-top: clamp(2.75rem, 4vw, 3.5rem);
    padding-bottom: clamp(2.75rem, 4vw, 3.5rem);
  }

  .cio-footer__grid {
    grid-template-columns:
      minmax(31rem, 1.65fr)
      minmax(11rem, .65fr)
      minmax(18rem, .9fr);
    gap: clamp(2.5rem, 5vw, 5rem);
  }

  .cio-footer__about {
    max-width: none;
  }

  .cio-footer__description {
    max-width: none;
    margin-top: 1.15rem;
    white-space: nowrap;
  }

  .cio-footer__social {
    margin-top: 1.15rem;
  }
}

.cio-footer__social-placeholder {
  display: inline-grid;
  width: 2.55rem;
  height: 2.55rem;
  place-items: center;
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.035);
  color: rgba(255, 255, 255, 0.42);
  cursor: default;
}

.cio-footer__social-placeholder svg {
  width: 1.05rem;
  height: 1.05rem;
  fill: currentColor;
}

@media (max-width: 1180px) and (min-width: 901px) {
  .cio-footer__grid {
    grid-template-columns:
      minmax(22rem, 1.35fr)
      minmax(10rem, .7fr)
      minmax(16rem, 1fr);
    gap: 2.5rem;
  }

  .cio-footer__description {
    white-space: normal;
  }
}


/* =========================================================
   CIO PHASE 3G — FOOTER PREMIUM V4 — SIGNATURE CIO
   ========================================================= */

@media (min-width: 901px) {
  .cio-footer__about {
    position: relative;
    padding-right: clamp(2.25rem, 4vw, 4rem);
  }

  .cio-footer__about::after {
    position: absolute;
    top: .15rem;
    right: 0;
    width: 2px;
    height: clamp(8rem, 12vw, 10rem);
    background: linear-gradient(
      to bottom,
      #078edc,
      rgba(7, 142, 220, .08)
    );
    content: "";
  }

  .cio-footer__brand img {
    height: 4.25rem;
  }
}

.cio-footer__heading {
  position: relative;
  padding-bottom: .8rem;
}

.cio-footer__heading::after {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 2rem;
  height: 2px;
  background: #078edc;
  content: "";
}

.cio-footer__links nav {
  gap: .72rem;
}

.cio-footer__links a {
  position: relative;
  transition:
    color 180ms ease,
    transform 180ms ease;
}

.cio-footer__links a:hover,
.cio-footer__links a:focus-visible {
  transform: translateX(3px);
}

.cio-footer__contact-list {
  gap: .9rem;
}

.cio-footer__contact-list p {
  gap: .8rem;
}

.cio-footer__contact-icon {
  display: inline-grid;
  width: 1.25rem;
  height: 1.5rem;
  flex: 0 0 1.25rem;
  place-items: center;
  color: #69c9f1;
}

.cio-footer__contact-icon svg {
  width: 1.05rem;
  height: 1.05rem;
  overflow: visible;
  stroke: currentColor;
  stroke-width: 1.65;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.cio-footer__social a,
.cio-footer__social-placeholder {
  width: 2.65rem;
  height: 2.65rem;
}

.cio-footer__social a {
  border-color: rgba(105, 201, 241, .32);
  background:
    linear-gradient(
      145deg,
      rgba(255, 255, 255, .09),
      rgba(255, 255, 255, .035)
    );
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, .08),
    0 8px 24px rgba(0, 0, 0, .08);
}

.cio-footer__social a:hover,
.cio-footer__social a:focus-visible {
  border-color: #69c9f1;
  background: rgba(7, 142, 220, .24);
  box-shadow:
    0 0 0 3px rgba(7, 142, 220, .08),
    0 10px 24px rgba(0, 0, 0, .12);
}

.cio-footer__social-placeholder {
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .04);
}

.cio-footer__bottom {
  background: rgba(0, 0, 0, .055);
}

@media (max-width: 900px) {
  .cio-footer__about::after {
    content: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  .cio-footer__links a {
    transition: none;
  }

  .cio-footer__links a:hover,
  .cio-footer__links a:focus-visible {
    transform: none;
  }
}


/* ==========================================================
   CIO NEWS ARTICLE — PREMIUM COMPACT HERO V2
   Compact editorial rhythm without fixed hero height.
   CSS only.
   ========================================================== */

@media (min-width: 48rem) {
  .cio-news-article__hero {
    padding-top: clamp(2.15rem, 3vw, 2.75rem);
    padding-bottom: clamp(2.35rem, 3.25vw, 3rem);
  }

  .cio-news-article__back {
    margin-bottom: clamp(1.25rem, 1.8vw, 1.6rem);
  }

  .cio-news-article__heading h1 {
    margin-top: .4rem;
    margin-bottom: 1rem;
  }

  .cio-news-article__meta {
    margin-top: .85rem;
  }

  .cio-news-article__layout {
    padding-top: clamp(1.5rem, 2vw, 1.9rem);
  }
}

@media (max-width: 47.9375rem) {
  .cio-news-article__hero {
    padding-top: 2rem;
    padding-bottom: 2.15rem;
  }

  .cio-news-article__back {
    min-height: 2.5rem;
    margin-bottom: 1.25rem;
  }

  .cio-news-article__heading h1 {
    margin-bottom: .9rem;
  }

  .cio-news-article__meta {
    margin-top: .75rem;
  }

  .cio-news-article__layout {
    padding-top: 1.4rem;
  }
}



/* ==========================================================
   CIO CANCER ARTICLE — PREMIUM EDITORIAL V2
   Article 25 only.
   Real Joomla DOM contract — no database/content mutation.
   ========================================================== */

.cio-news-article[data-article-id="25"] .cio-news-article__prose {
  --cio-cancer-ink: #123f58;
  --cio-cancer-body: #244d63;
  --cio-cancer-blue: var(--cio-blue, #078edc);
  --cio-cancer-pink: #c83272;
  --cio-cancer-rule: rgba(8, 72, 119, .13);

  color: var(--cio-cancer-body);
}

/* SANTÉ • OCTOBRE ROSE */
.cio-news-article[data-article-id="25"]
  .cio-news-article__prose > p:nth-child(1) {
  position: relative;
  margin: 0 0 1.65rem;
  padding: 0 0 .8rem 1rem;
  color: var(--cio-cancer-ink);
  font-size: .82rem;
  font-weight: 800;
  line-height: 1.35;
  letter-spacing: .105em;
  text-align: left !important;
  text-transform: uppercase;
}

.cio-news-article[data-article-id="25"]
  .cio-news-article__prose > p:nth-child(1)::before {
  position: absolute;
  top: .08rem;
  bottom: .78rem;
  left: 0;
  width: 3px;
  background: var(--cio-cancer-pink);
  content: "";
}

.cio-news-article[data-article-id="25"]
  .cio-news-article__prose > p:nth-child(1)::after {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  height: 1px;
  background:
    linear-gradient(
      90deg,
      rgba(200, 50, 114, .34),
      var(--cio-cancer-rule) 42%,
      transparent 100%
    );
  content: "";
}

/* Editorial introduction */
.cio-news-article[data-article-id="25"]
  .cio-news-article__prose > p:nth-child(2) {
  margin: 0 0 clamp(2.35rem, 4vw, 3.25rem);
  color: #173f57;
  font-size: clamp(1.08rem, 1.5vw, 1.2rem);
  font-weight: 500;
  line-height: 1.78;
  letter-spacing: -.008em;
  text-align: left !important;
}

/* Digital-health section title */
.cio-news-article[data-article-id="25"]
  .cio-news-article__prose > p:nth-child(3) {
  position: relative;
  margin: 0 0 1.35rem;
  padding: .2rem 0 .2rem 1.2rem;
  color: #0c3b54;
  font-size: clamp(1.5rem, 2.3vw, 1.95rem);
  font-weight: 760;
  line-height: 1.16;
  letter-spacing: -.03em;
  text-align: left !important;
}

.cio-news-article[data-article-id="25"]
  .cio-news-article__prose > p:nth-child(3)::before {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 3px;
  background:
    linear-gradient(
      to bottom,
      var(--cio-cancer-blue),
      rgba(7, 142, 220, .18)
    );
  content: "";
}

/* Supporting paragraphs */
.cio-news-article[data-article-id="25"]
  .cio-news-article__prose > p:nth-child(n+4) {
  margin-top: 0;
  margin-bottom: 1.45rem;
  color: var(--cio-cancer-body);
  font-size: 1.045rem;
  line-height: 1.82;
  text-align: left !important;
}

@media (max-width: 700px) {
  .cio-news-article[data-article-id="25"]
    .cio-news-article__prose > p:nth-child(1) {
    margin-bottom: 1.4rem;
    padding-left: .85rem;
    font-size: .75rem;
    letter-spacing: .085em;
  }

  .cio-news-article[data-article-id="25"]
    .cio-news-article__prose > p:nth-child(2) {
    margin-bottom: 2.4rem;
    font-size: 1.04rem;
    line-height: 1.72;
  }

  .cio-news-article[data-article-id="25"]
    .cio-news-article__prose > p:nth-child(3) {
    margin-bottom: 1.15rem;
    padding-left: 1rem;
    font-size: clamp(1.4rem, 7vw, 1.7rem);
  }

  .cio-news-article[data-article-id="25"]
    .cio-news-article__prose > p:nth-child(n+4) {
    margin-bottom: 1.3rem;
    font-size: 1rem;
    line-height: 1.75;
  }
}


/* ==========================================================================
   CIO CONTACT — PREMIUM V1
   Scoped to the com_contact override.
   ========================================================================== */

.cio-page-content:has(.cio-contact) {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
}

.cio-contact {
  --cio-contact-max: 76rem;
  color: var(--cio-text);
  background: var(--cio-surface);
}

.cio-contact__hero {
  position: relative;
  overflow: hidden;
  padding: clamp(2.75rem, 5vw, 4.75rem) var(--cio-gutter);
  color: #fff;
  background:
    radial-gradient(
      circle at 82% 18%,
      rgb(36 183 238 / 20%),
      transparent 26rem
    ),
    linear-gradient(
      118deg,
      var(--cio-navy-deep) 0%,
      var(--cio-navy) 56%,
      #07558f 100%
    );
}

.cio-contact__hero::after {
  position: absolute;
  right: clamp(1rem, 8vw, 8rem);
  bottom: -6rem;
  width: 16rem;
  height: 16rem;
  border: 1px solid rgb(255 255 255 / 10%);
  border-radius: 50%;
  content: "";
}

.cio-contact__hero-inner,
.cio-contact__body {
  width: min(100%, var(--cio-contact-max));
  margin-inline: auto;
}

.cio-contact__back {
  display: inline-flex;
  align-items: center;
  gap: .55rem;
  margin-bottom: clamp(2rem, 4vw, 3.5rem);
  color: rgb(255 255 255 / 78%);
  font-size: .9rem;
  font-weight: 600;
  text-decoration: none;
  transition:
    color var(--cio-transition),
    transform var(--cio-transition);
}

.cio-contact__back:hover {
  color: #fff;
  transform: translateX(-.2rem);
}

.cio-contact__hero-copy {
  max-width: 48rem;
}

.cio-contact__eyebrow,
.cio-contact__kicker {
  margin: 0 0 .85rem;
  color: var(--cio-cyan);
  font-size: .75rem;
  font-weight: 800;
  letter-spacing: .13em;
  line-height: 1.3;
}

.cio-contact__hero h1 {
  max-width: 45rem;
  margin: 0;
  color: #fff;
  font-size: clamp(2.45rem, 5vw, 4.5rem);
  font-weight: 800;
  letter-spacing: -.045em;
  line-height: .98;
}

.cio-contact__lead {
  max-width: 44rem;
  margin: 1.4rem 0 0;
  color: rgb(255 255 255 / 82%);
  font-size: clamp(1.05rem, 1.7vw, 1.25rem);
  line-height: 1.65;
}

.cio-contact__body {
  display: grid;
  grid-template-columns: minmax(0, 1.65fr) minmax(17rem, .75fr);
  gap: clamp(3rem, 7vw, 6.5rem);
  padding: clamp(3.5rem, 6vw, 6rem) var(--cio-gutter);
}

.cio-contact__section-heading {
  max-width: 44rem;
}

.cio-contact__section-heading .cio-contact__kicker,
.cio-contact__status .cio-contact__kicker {
  color: var(--cio-blue-strong);
}

.cio-contact__section-heading h2,
.cio-contact__status h2 {
  margin: 0;
  color: var(--cio-navy-deep);
  font-weight: 800;
  letter-spacing: -.025em;
  line-height: 1.12;
}

.cio-contact__section-heading h2 {
  font-size: clamp(1.8rem, 3vw, 2.6rem);
}

.cio-contact__section-heading > p:last-child {
  margin: 1rem 0 0;
  color: var(--cio-muted);
  font-size: 1.02rem;
  line-height: 1.75;
}

.cio-contact__pathways {
  margin-top: clamp(2.5rem, 5vw, 4rem);
  border-top: 1px solid var(--cio-border);
}

.cio-contact__pathway {
  display: grid;
  grid-template-columns: 3.25rem minmax(0, 1fr);
  gap: 1.4rem;
  padding: 2rem 0;
  border-bottom: 1px solid var(--cio-border);
}

.cio-contact__pathway-index {
  padding-top: .15rem;
  color: var(--cio-pink);
  font-size: .78rem;
  font-weight: 800;
  letter-spacing: .08em;
}

.cio-contact__pathway h3 {
  margin: 0;
  color: var(--cio-navy);
  font-size: 1.25rem;
  line-height: 1.3;
}

.cio-contact__pathway p {
  max-width: 38rem;
  margin: .7rem 0 0;
  color: var(--cio-muted);
  line-height: 1.7;
}

.cio-contact__link {
  display: inline-flex;
  align-items: center;
  gap: .65rem;
  min-height: 2.75rem;
  margin-top: 1rem;
  padding: 0;
  border: 0;
  color: var(--cio-blue-strong);
  background: transparent;
  font: inherit;
  font-weight: 750;
  text-decoration: none;
  cursor: pointer;
  transition:
    color var(--cio-transition),
    gap var(--cio-transition);
}

.cio-contact__link:hover {
  gap: .85rem;
  color: var(--cio-navy);
}

.cio-contact__status {
  align-self: start;
  padding: 0 0 0 clamp(1.5rem, 3vw, 2.5rem);
  border-left: .2rem solid var(--cio-pink);
}

.cio-contact__status h2 {
  font-size: 1.5rem;
}

.cio-contact__status > p {
  margin: 1rem 0 0;
  color: var(--cio-muted);
  line-height: 1.7;
}

.cio-contact__status-note {
  display: grid;
  grid-template-columns: .65rem minmax(0, 1fr);
  gap: .8rem;
  margin-top: 2rem;
  padding-top: 1.4rem;
  border-top: 1px solid var(--cio-border);
}

.cio-contact__status-mark {
  width: .55rem;
  height: .55rem;
  margin-top: .42rem;
  border-radius: 50%;
  background: var(--cio-green);
}

.cio-contact__status-note p {
  margin: 0;
  color: var(--cio-muted);
  font-size: .9rem;
  line-height: 1.6;
}

@media (max-width: 55rem) {
  .cio-contact__body {
    grid-template-columns: 1fr;
    gap: 3.5rem;
  }

  .cio-contact__status {
    max-width: 38rem;
  }
}

@media (max-width: 40rem) {
  .cio-contact__hero {
    padding-top: 2.5rem;
    padding-bottom: 3rem;
  }

  .cio-contact__hero h1 {
    font-size: clamp(2.25rem, 12vw, 3.2rem);
  }

  .cio-contact__body {
    padding-top: 3rem;
    padding-bottom: 3.5rem;
  }

  .cio-contact__pathway {
    grid-template-columns: 2.4rem minmax(0, 1fr);
    gap: .8rem;
  }

  .cio-contact__status {
    padding-left: 1.25rem;
  }
}


/* ==========================================================================
   CIO CONTACT — OFFICIAL DETAILS + FORM V1
   ========================================================================== */

.cio-contact__details {
  display: grid;
  gap: 1.4rem;
  margin: 1.75rem 0 0;
  font-style: normal;
}

.cio-contact__detail {
  display: grid;
  gap: .35rem;
  padding-bottom: 1.15rem;
  border-bottom: 1px solid var(--cio-border);
}

.cio-contact__detail-label {
  color: var(--cio-muted);
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .09em;
  text-transform: uppercase;
}

.cio-contact__detail > span:last-child,
.cio-contact__detail a {
  color: var(--cio-navy-deep);
  font-size: .98rem;
  font-weight: 650;
  line-height: 1.55;
}

.cio-contact__detail a {
  width: fit-content;
  text-decoration-color: rgb(0 142 230 / 30%);
  text-underline-offset: .2em;
}

.cio-contact__detail a:hover {
  color: var(--cio-blue-strong);
}

.cio-contact__form-section {
  padding:
    clamp(3.5rem, 6vw, 6rem)
    var(--cio-gutter);
  border-top: 1px solid var(--cio-border);
  background:
    linear-gradient(
      180deg,
      var(--cio-surface-blue) 0%,
      #fff 100%
    );
}

.cio-contact__form-inner {
  display: grid;
  grid-template-columns:
    minmax(16rem, .7fr)
    minmax(0, 1.3fr);
  gap: clamp(3rem, 7vw, 7rem);
  width: min(100%, var(--cio-contact-max));
  margin-inline: auto;
}

.cio-contact__form-heading {
  align-self: start;
  padding-left: 1.4rem;
  border-left: .2rem solid var(--cio-pink);
}

.cio-contact__form-heading .cio-contact__kicker {
  color: var(--cio-blue-strong);
}

.cio-contact__form-heading h2 {
  margin: 0;
  color: var(--cio-navy-deep);
  font-size: clamp(1.8rem, 3vw, 2.5rem);
  font-weight: 800;
  letter-spacing: -.025em;
  line-height: 1.1;
}

.cio-contact__form-heading > p:last-child {
  margin: 1rem 0 0;
  color: var(--cio-muted);
  line-height: 1.75;
}

.cio-contact__form-shell {
  min-width: 0;
}

.cio-contact__form-shell .contact-form {
  margin: 0;
}

.cio-contact__form-shell #contact-form {
  display: grid;
  gap: 1.25rem;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
}

.cio-contact__form-shell fieldset {
  display: grid;
  gap: 1.25rem;
  min-width: 0;
  margin: 0;
  padding: 0;
  border: 0;
}

.cio-contact__form-shell legend {
  margin: 0 0 .5rem;
  color: var(--cio-navy);
  font-size: 1rem;
  font-weight: 750;
}

.cio-contact__form-shell .control-group {
  display: grid;
  gap: .45rem;
  margin: 0;
}

.cio-contact__form-shell .control-label {
  float: none;
  width: auto;
  padding: 0;
  text-align: left;
}

.cio-contact__form-shell .controls {
  margin: 0;
}

.cio-contact__form-shell label {
  color: var(--cio-navy);
  font-size: .9rem;
  font-weight: 700;
}

.cio-contact__form-shell input[type="text"],
.cio-contact__form-shell input[type="email"],
.cio-contact__form-shell textarea {
  box-sizing: border-box;
  width: 100%;
  min-height: 3rem;
  padding: .8rem .9rem;
  border: 1px solid #c8deec;
  border-radius: var(--cio-radius-sm);
  color: var(--cio-text);
  background: #fff;
  font: inherit;
  transition:
    border-color var(--cio-transition),
    box-shadow var(--cio-transition);
}

.cio-contact__form-shell textarea {
  min-height: 10rem;
  resize: vertical;
}

.cio-contact__form-shell input:focus,
.cio-contact__form-shell textarea:focus {
  border-color: var(--cio-blue);
  outline: 0;
  box-shadow:
    0 0 0 .2rem rgb(0 142 230 / 12%);
}

.cio-contact__form-shell button[type="submit"],
.cio-contact__form-shell .btn-primary {
  min-height: 3rem;
  padding: .7rem 1.35rem;
  border: 1px solid var(--cio-blue);
  border-radius: var(--cio-radius-sm);
  color: #fff;
  background: var(--cio-blue);
  font: inherit;
  font-weight: 750;
  cursor: pointer;
  transition:
    background var(--cio-transition),
    border-color var(--cio-transition),
    transform var(--cio-transition);
}

.cio-contact__form-shell button[type="submit"]:hover,
.cio-contact__form-shell .btn-primary:hover {
  border-color: var(--cio-blue-strong);
  background: var(--cio-blue-strong);
  transform: translateY(-1px);
}

@media (max-width: 55rem) {
  .cio-contact__form-inner {
    grid-template-columns: 1fr;
    gap: 2.5rem;
  }

  .cio-contact__form-heading {
    max-width: 42rem;
  }
}

@media (max-width: 40rem) {
  .cio-contact__form-section {
    padding-top: 3rem;
    padding-bottom: 3.5rem;
  }

  .cio-contact__form-heading {
    padding-left: 1.1rem;
  }
}


/* ==========================================================================
   CIO CONTACT — FORM DENSITY POLISH V1
   ========================================================================== */

.cio-contact__form-shell #contact-form,
.cio-contact__form-shell fieldset {
  gap: 1rem;
}

.cio-contact__form-shell textarea {
  min-height: 8rem;
}

@media (min-width: 55.0625rem) {
  .cio-contact__form-section {
    padding-top: 3.75rem;
    padding-bottom: 4rem;
  }
}


/* ==========================================================================
   CIO CONTACT — MESSAGE FIELD HEIGHT FIX V1
   Joomla contact_message ships with rows="10".
   ========================================================================== */

.cio-contact__form-shell #jform_contact_message {
  height: 8rem;
  min-height: 8rem;
  resize: vertical;
}

@media (max-width: 40rem) {
  .cio-contact__form-shell #jform_contact_message {
    height: 7rem;
    min-height: 7rem;
  }
}

/* =========================================================
   CIO PATIENT ORIENTATION ENGINE V1
   ========================================================= */

.cio-help-card__link[aria-expanded="true"] {
  border-color: #078edc;
  box-shadow:
    0 0 0 2px rgba(7, 142, 220, .08),
    0 16px 36px rgba(7, 31, 61, .08);
}

.cio-help-card__link[aria-expanded="true"] .cio-help-card__arrow {
  transform: translateX(3px);
}

.cio-orientation-panel {
  margin-top: clamp(1rem, 2vw, 1.5rem);
}

.cio-orientation-panel:empty {
  display: none;
}

.cio-orientation-panel__choice {
  position: relative;
  display: grid;
  grid-template-columns: minmax(15rem, .8fr) minmax(0, 1.55fr);
  gap: clamp(1.5rem, 4vw, 3.5rem);
  padding: clamp(1.5rem, 3vw, 2.25rem);
  overflow: hidden;
  border: 1px solid rgba(7, 31, 61, .1);
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 18px 45px rgba(7, 31, 61, .07);
}

.cio-orientation-panel__choice[hidden] {
  display: none;
}

.cio-orientation-panel__choice::before {
  position: absolute;
  top: 1.5rem;
  bottom: 1.5rem;
  left: 0;
  width: 3px;
  background: #078edc;
  content: "";
}

.cio-orientation-panel__intro {
  align-self: center;
}

.cio-orientation-panel__intro .cio-eyebrow {
  margin: 0 0 .55rem;
  color: #078edc;
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .13em;
}

.cio-orientation-panel__intro h3 {
  margin: 0;
  color: #071f3d;
  font-size: clamp(1.25rem, 2vw, 1.7rem);
  line-height: 1.18;
}

.cio-orientation-panel__intro > p:last-child {
  max-width: 34rem;
  margin: .75rem 0 0;
  color: #5e6c7b;
  line-height: 1.65;
}

.cio-orientation-panel__actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .75rem;
}

.cio-orientation-panel__actions:has(.cio-orientation-action:nth-child(3)) {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.cio-orientation-action {
  display: flex;
  min-height: 6.5rem;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 1.15rem;
  border: 1px solid rgba(7, 31, 61, .1);
  border-radius: 6px;
  background: #f8fbfd;
  color: #071f3d;
  text-decoration: none;
  transition:
    border-color 180ms ease,
    background 180ms ease,
    box-shadow 180ms ease,
    transform 180ms ease;
}

.cio-orientation-action:hover,
.cio-orientation-action:focus-visible {
  border-color: rgba(7, 142, 220, .55);
  background: #fff;
  box-shadow: 0 10px 28px rgba(7, 31, 61, .08);
  transform: translateY(-2px);
}

.cio-orientation-action__body {
  display: grid;
  gap: .35rem;
}

.cio-orientation-action__body strong {
  color: #071f3d;
  font-size: .96rem;
  line-height: 1.25;
}

.cio-orientation-action__body > span {
  color: #647384;
  font-size: .82rem;
  line-height: 1.45;
}

.cio-orientation-action__arrow {
  flex: 0 0 auto;
  color: #078edc;
  font-size: 1.25rem;
}

@media (max-width: 900px) {
  .cio-orientation-panel__choice {
    grid-template-columns: 1fr;
    gap: 1.25rem;
  }

  .cio-orientation-panel__actions,
  .cio-orientation-panel__actions:has(.cio-orientation-action:nth-child(3)) {
    grid-template-columns: 1fr;
  }

  .cio-orientation-action {
    min-height: 5.5rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .cio-orientation-action,
  .cio-help-card__arrow {
    transition: none;
  }

  .cio-orientation-action:hover,
  .cio-orientation-action:focus-visible {
    transform: none;
  }
}

/* ==========================================================================
   CIO EXPERTISE — EDITORIAL SECTIONS V1
   Number + heading are one editorial unit.
   ========================================================================== */

.cio-expertise-content__lead {
  max-width: 48rem;
  margin: 0 0 clamp(2.4rem, 4vw, 3.4rem);
  color: #355a78;
  font-size: clamp(1.05rem, 1.35vw, 1.18rem);
  font-weight: 500;
  line-height: 1.75;
}

.cio-expertise-content__sections {
  display: grid;
  gap: clamp(2rem, 3.5vw, 2.8rem);
}

.cio-expertise-content__section {
  display: grid;
  grid-template-columns: 2.4rem minmax(0, 1fr);
  gap: clamp(.8rem, 1.5vw, 1.15rem);
  align-items: start;
}

.cio-expertise-content__number {
  padding-top: .3rem;
  color: #52718c;
  font-size: .78rem;
  font-weight: 800;
  line-height: 1;
  letter-spacing: .08em;
}

.cio-expertise-content__section-body {
  min-width: 0;
  padding-left: clamp(.85rem, 1.4vw, 1.15rem);
  border-left: .2rem solid var(--cio-blue, #078edc);
}

.cio-expertise-article__prose
  .cio-expertise-content__section-body h2 {
  margin: 0 0 .8rem;
  color: var(--cio-navy-deep, #053767);
  font-size: clamp(1.45rem, 2.35vw, 1.9rem);
  line-height: 1.15;
  letter-spacing: -.025em;
}

.cio-expertise-article__prose
  .cio-expertise-content__section-body h2::before {
  display: none;
  content: none;
}

.cio-expertise-content__section-body p {
  max-width: 50rem;
  margin: 0;
}

@media (max-width: 640px) {
  .cio-expertise-content__lead {
    margin-bottom: 2rem;
  }

  .cio-expertise-content__sections {
    gap: 2rem;
  }

  .cio-expertise-content__section {
    grid-template-columns: 1.8rem minmax(0, 1fr);
    gap: .55rem;
  }

  .cio-expertise-content__number {
    padding-top: .25rem;
    font-size: .7rem;
  }

  .cio-expertise-content__section-body {
    padding-left: .8rem;
  }

  .cio-expertise-article__prose
    .cio-expertise-content__section-body h2 {
    margin-top: 0;
    font-size: clamp(1.35rem, 6vw, 1.6rem);
  }
}

/* ==========================================================
   CIO INTERNAL PAGE SYSTEM — SHARED ARTICLE WRAPPER SPACING
   Self-contained article layouts own their vertical rhythm.
   Prevent the generic Joomla page wrapper from adding a
   second vertical spacing around internal article layouts.
   Homepage and directory/listing pages remain unchanged.
   ========================================================== */

.cio-page-content:has(> .cio-expertise-article),
.cio-page-content:has(> .cio-news-article) {
  padding-top: clamp(1.5rem, 3vw, 2.5rem);
  padding-bottom: 0;
}

/* ==========================================================
   CIO ACTUALITES — COMPACT NUMBERED PAGINATION
   Four articles per Joomla page; native pagination preserved.
   ========================================================== */

.cio-news__pagination {
  margin-top: clamp(2.5rem, 5vw, 4rem);
}

.cio-news__pagination .pagination {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: .45rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.cio-news__pagination .page-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 2.65rem;
  min-height: 2.65rem;
  padding: .55rem .8rem;
  border: 1px solid rgba(5, 55, 103, .16);
  border-radius: .2rem;
  color: var(--cio-navy-deep, #053767);
  background: #fff;
  font-weight: 700;
  line-height: 1;
  text-decoration: none;
  transition:
    border-color .2s ease,
    background-color .2s ease,
    color .2s ease;
}

.cio-news__pagination a.page-link:hover,
.cio-news__pagination a.page-link:focus-visible {
  border-color: var(--cio-blue, #078edc);
  color: var(--cio-blue, #078edc);
}

.cio-news__pagination .active > .page-link,
.cio-news__pagination .page-item.active .page-link {
  border-color: var(--cio-blue, #078edc);
  color: #fff;
  background: var(--cio-blue, #078edc);
}

.cio-news__pagination .disabled > .page-link,
.cio-news__pagination .page-item.disabled .page-link {
  opacity: .38;
  pointer-events: none;
}

@media (max-width: 640px) {
  .cio-news__pagination .pagination {
    gap: .3rem;
  }

  .cio-news__pagination .page-link {
    min-width: 2.35rem;
    min-height: 2.35rem;
    padding: .45rem .6rem;
    font-size: .9rem;
  }
}

/* ==========================================================
   CIO ACTUALITES — PAGINATION DIRECTIONAL CONTROLS
   Keep one previous and one next control around page numbers.
   Joomla icon-font dependency is intentionally avoided.
   ========================================================== */

.cio-news__pagination .pagination > .page-item:first-child,
.cio-news__pagination .pagination > .page-item:last-child {
  display: none;
}

.cio-news__pagination
  .page-link[aria-label="Aller à la page précédente"] .icon-angle-left,
.cio-news__pagination
  .page-link[aria-label="Aller à la page suivante"] .icon-angle-right {
  display: none;
}

.cio-news__pagination
  .page-link[aria-label="Aller à la page précédente"]::before {
  content: "‹";
  font-size: 1.35rem;
  line-height: .8;
}

.cio-news__pagination
  .page-link[aria-label="Aller à la page suivante"]::before {
  content: "›";
  font-size: 1.35rem;
  line-height: .8;
}

.cio-news__pagination
  .disabled .page-link .icon-angle-left {
  display: none;
}

.cio-news__pagination
  .disabled .page-link:has(.icon-angle-left)::before {
  content: "‹";
  font-size: 1.35rem;
  line-height: .8;
}

/* ==========================================================
   CIO CONTACT — GOOGLE MAPS DIRECTIONS
   Destination: Forum Médical, Torokorobougou.
   ========================================================== */

.cio-contact__directions {
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  width: fit-content;
  margin-top: .75rem;
  padding: .65rem .9rem;
  border: 1px solid rgba(7, 142, 220, .24);
  border-radius: .35rem;
  color: var(--cio-blue, #078edc);
  background: rgba(7, 142, 220, .06);
  font-size: .9rem;
  font-weight: 700;
  line-height: 1;
  text-decoration: none;
  transition:
    border-color .2s ease,
    background-color .2s ease,
    color .2s ease;
}

.cio-contact__directions:hover,
.cio-contact__directions:focus-visible {
  border-color: var(--cio-blue, #078edc);
  color: var(--cio-navy-deep, #053767);
  background: rgba(7, 142, 220, .11);
}

.cio-contact__directions-icon {
  font-size: 1.05rem;
  line-height: 1;
}

/* ==========================================================
   CIO FOOTER — CLICKABLE MAP ADDRESS
   ========================================================== */

.cio-footer__address-link {
  text-decoration-line: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: .22em;
  text-decoration-color: rgba(255, 255, 255, .38);
}

.cio-footer__address-link:hover,
.cio-footer__address-link:focus-visible {
  text-decoration-color: currentColor;
}

/* ==========================================================
   CIO CONTACT — PREMIUM DIRECTIONS CTA
   ========================================================== */

.cio-contact__directions {
  position: relative;
  gap: .6rem;
  min-height: 2.8rem;
  padding: .72rem 1rem;
  border: 1px solid var(--cio-navy-deep, #053767);
  border-radius: .25rem;
  color: #fff;
  background: var(--cio-navy-deep, #053767);
  box-shadow: 0 .45rem 1rem rgba(5, 55, 103, .12);
  letter-spacing: .01em;
  overflow: hidden;
}

.cio-contact__directions::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(
    110deg,
    transparent 0%,
    rgba(255, 255, 255, .08) 50%,
    transparent 100%
  );
  transform: translateX(-110%);
  transition: transform .35s ease;
  pointer-events: none;
}

.cio-contact__directions:hover,
.cio-contact__directions:focus-visible {
  border-color: var(--cio-blue, #078edc);
  color: #fff;
  background: var(--cio-blue, #078edc);
  box-shadow: 0 .6rem 1.35rem rgba(5, 55, 103, .18);
}

.cio-contact__directions:hover::after,
.cio-contact__directions:focus-visible::after {
  transform: translateX(110%);
}

.cio-contact__directions-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.15rem;
  height: 1.15rem;
  flex: 0 0 1.15rem;
}

.cio-contact__directions-icon svg {
  width: 100%;
  height: 100%;
  stroke: currentColor;
  stroke-width: 1.7;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.cio-contact__directions-arrow {
  display: inline-block;
  margin-left: .12rem;
  transition: transform .2s ease;
}

.cio-contact__directions:hover .cio-contact__directions-arrow,
.cio-contact__directions:focus-visible .cio-contact__directions-arrow {
  transform: translateX(.2rem);
}

@media (prefers-reduced-motion: reduce) {
  .cio-contact__directions::after,
  .cio-contact__directions-arrow {
    transition: none;
  }
}

/* ==========================================================
   CIO CONTACT — PREMIUM DIRECTIONS CONTENT VISIBILITY
   Specificity guard against generic contact-detail links.
   ========================================================== */

.cio-contact__detail a.cio-contact__directions,
.cio-contact__detail a.cio-contact__directions:visited {
  color: #fff;
}

.cio-contact__detail a.cio-contact__directions:hover,
.cio-contact__detail a.cio-contact__directions:focus-visible {
  color: #fff;
}

.cio-contact__directions::after {
  z-index: 0;
}

.cio-contact__directions > * {
  position: relative;
  z-index: 1;
}

/* CIO_RDV_EXPERT_V1_BEGIN */

.cio-rdv-expert {
    max-width: 1180px;
    margin-inline: auto;
    padding-top: clamp(2.5rem, 5vw, 4.75rem) !important;
    padding-bottom: clamp(3rem, 6vw, 5rem) !important;
    color: var(--cio-navy, #082f63);
}

.cio-rdv-expert > .mx-auto {
    max-width: none !important;
}

.cio-rdv-expert h1,
.cio-rdv-expert h2,
.cio-rdv-expert h3 {
    color: var(--cio-navy, #082f63);
    line-height: 1.15;
}

.cio-rdv-expert .text-uppercase {
    margin: 0 0 .65rem;
    color: #168bd2 !important;
    font-size: .78rem;
    font-weight: 800;
    letter-spacing: .12em;
}

.cio-rdv-expert .h2 {
    margin: 0 0 .75rem;
    font-size: clamp(2rem, 4vw, 3rem);
    font-weight: 800;
}

.cio-rdv-expert .h3 {
    margin: 0 0 .75rem;
    font-size: clamp(1.65rem, 3vw, 2.2rem);
    font-weight: 800;
}

.cio-rdv-expert .h4 {
    margin: 0 0 .45rem;
    font-size: clamp(1.35rem, 2.5vw, 1.75rem);
    font-weight: 800;
}

.cio-rdv-expert .h5 {
    margin: 0 0 .75rem;
    font-size: 1.18rem;
    font-weight: 800;
}

.cio-rdv-expert .text-muted {
    color: #60728a !important;
}

.cio-rdv-expert .mb-4:first-child {
    margin-bottom: 2rem !important;
    padding-left: 1.15rem;
    border-left: 4px solid #168bd2;
}

.cio-rdv-expert .card {
    background: #fff;
    border: 1px solid #e4ebf3 !important;
    border-radius: 10px;
    box-shadow: 0 18px 50px rgba(8, 47, 99, .08) !important;
}

.cio-rdv-expert .card-body {
    padding: clamp(1.35rem, 3vw, 2rem) !important;
}

.cio-rdv-expert .row {
    display: flex;
    flex-wrap: wrap;
    margin: -.65rem;
}

.cio-rdv-expert .row > * {
    width: 100%;
    padding: .65rem;
}

.cio-rdv-expert .g-4 {
    margin: -.65rem;
}

.cio-rdv-expert .g-4 > * {
    padding: .65rem;
}

.cio-rdv-expert .col-md-6 {
    width: 50%;
}

.cio-rdv-expert .col-lg-5 {
    width: 41.666667%;
}

.cio-rdv-expert .col-lg-7 {
    width: 58.333333%;
}

.cio-rdv-expert .small {
    display: block;
    margin-bottom: .3rem;
    font-size: .82rem;
}

.cio-rdv-expert .fw-semibold {
    color: #082f63;
    font-weight: 700;
    overflow-wrap: anywhere;
}

.cio-rdv-expert .mb-4.card {
    margin-bottom: 2rem !important;
}

.cio-rdv-expert .mb-3 {
    margin-bottom: 1rem !important;
}

.cio-rdv-expert .decision-intro,
.cio-rdv-expert > .mx-auto > .mb-3 {
    margin-top: 2.4rem;
    margin-bottom: 1.2rem !important;
}

.cio-rdv-expert form {
    margin: 0;
}

.cio-rdv-expert .form-label {
    display: block;
    margin-bottom: .45rem;
    color: #082f63;
    font-size: .92rem;
    font-weight: 700;
}

.cio-rdv-expert .form-control,
.cio-rdv-expert .form-select {
    display: block;
    width: 100%;
    min-height: 48px;
    padding: .72rem .85rem;
    border: 1px solid #cdd9e6;
    border-radius: 6px;
    background: #fff;
    color: #082f63;
    font: inherit;
    line-height: 1.4;
    transition:
        border-color .2s ease,
        box-shadow .2s ease;
}

.cio-rdv-expert textarea.form-control {
    min-height: 130px;
    resize: vertical;
}

.cio-rdv-expert .form-control:focus,
.cio-rdv-expert .form-select:focus {
    outline: none;
    border-color: #168bd2;
    box-shadow: 0 0 0 3px rgba(22, 139, 210, .13);
}

.cio-rdv-expert .btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 50px;
    padding: .78rem 1.25rem;
    border: 1px solid transparent;
    border-radius: 6px;
    font: inherit;
    font-weight: 800;
    line-height: 1.2;
    text-align: center;
    text-decoration: none;
    cursor: pointer;
    transition:
        transform .15s ease,
        box-shadow .2s ease,
        background-color .2s ease;
}

.cio-rdv-expert .btn:hover {
    transform: translateY(-1px);
}

.cio-rdv-expert .btn:focus-visible {
    outline: 3px solid rgba(22, 139, 210, .3);
    outline-offset: 3px;
}

.cio-rdv-expert .btn-primary {
    background: #0b5fa5;
    border-color: #0b5fa5;
    color: #fff;
    box-shadow: 0 10px 24px rgba(11, 95, 165, .18);
}

.cio-rdv-expert .btn-primary:hover {
    background: #084d88;
    border-color: #084d88;
    color: #fff;
}

.cio-rdv-expert .btn-success {
    background: #168b78;
    border-color: #168b78;
    color: #fff;
    box-shadow: 0 10px 24px rgba(22, 139, 120, .17);
}

.cio-rdv-expert .btn-success:hover {
    background: #117362;
    border-color: #117362;
    color: #fff;
}

.cio-rdv-expert .w-100 {
    width: 100%;
}

.cio-rdv-expert .h-100 {
    height: 100%;
}

.cio-rdv-expert .text-center {
    text-align: center;
}

.cio-rdv-expert .mx-auto {
    margin-inline: auto;
}

.cio-rdv-expert .mb-0 {
    margin-bottom: 0 !important;
}

.cio-rdv-expert .mb-1 {
    margin-bottom: .25rem !important;
}

.cio-rdv-expert .mb-2 {
    margin-bottom: .5rem !important;
}

.cio-rdv-expert .mb-3 {
    margin-bottom: 1rem !important;
}

.cio-rdv-expert .mb-4 {
    margin-bottom: 1.5rem !important;
}

.cio-rdv-expert .p-4 {
    padding: 1.5rem !important;
}

.cio-rdv-expert .card .small.text-muted {
    text-transform: uppercase;
    letter-spacing: .04em;
    font-size: .72rem;
    font-weight: 700;
}

.cio-rdv-expert .card .fw-semibold {
    font-size: 1rem;
}

.cio-rdv-expert .col-lg-5 .card {
    border-top: 3px solid #168b78 !important;
}

.cio-rdv-expert .col-lg-7 .card {
    border-top: 3px solid #168bd2 !important;
}

@media (max-width: 991px) {
    .cio-rdv-expert .col-lg-5,
    .cio-rdv-expert .col-lg-7 {
        width: 100%;
    }
}

@media (max-width: 767px) {
    .cio-rdv-expert {
        padding-top: 2rem !important;
        padding-bottom: 3rem !important;
    }

    .cio-rdv-expert .col-md-6 {
        width: 100%;
    }

    .cio-rdv-expert .card-body {
        padding: 1.25rem !important;
    }

    .cio-rdv-expert .h2 {
        font-size: 1.9rem;
    }
}

/* CIO_RDV_EXPERT_V1_END */

/* CIO RDV — premium scroll cue */
.cio-rdv-scroll-cue {
  display: flex;
  justify-content: center;
  margin: clamp(-1.25rem, -1vw, -.5rem) 0 clamp(1.75rem, 4vw, 3rem);
}

.cio-rdv-scroll-cue__link {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  gap: .35rem;
  color: var(--cio-color-primary, #0067b1);
  text-decoration: none;
}

.cio-rdv-scroll-cue__label {
  font-size: .76rem;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.cio-rdv-scroll-cue__icon {
  display: block;
  width: 1.65rem;
  height: 1.65rem;
  transition: transform .2s ease;
}

.cio-rdv-scroll-cue__link:hover .cio-rdv-scroll-cue__icon,
.cio-rdv-scroll-cue__link:focus-visible .cio-rdv-scroll-cue__icon {
  transform: translateY(3px);
}

.cio-rdv-scroll-cue__link:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 6px;
}

@keyframes cio-rdv-scroll-cue {
  0%,
  100% {
    transform: translateY(0);
  }

  50% {
    transform: translateY(6px);
  }
}

@media (prefers-reduced-motion: no-preference) {
  .cio-rdv-scroll-cue__icon {
    animation: cio-rdv-scroll-cue 1.8s ease-in-out infinite;
  }

  .cio-rdv-scroll-cue__link:hover .cio-rdv-scroll-cue__icon,
  .cio-rdv-scroll-cue__link:focus-visible .cio-rdv-scroll-cue__icon {
    animation-play-state: paused;
  }
}

@media (prefers-reduced-motion: reduce) {
  .cio-rdv-scroll-cue__icon {
    animation: none;
    transition: none;
  }
}

#cio-rdv-need {
  scroll-margin-top: 8rem;
}

/* =========================================================
   CIO HOME UX POLISH
   Header simplification + restrained section reveal.
   ========================================================= */

.cio-utility__inner {
  grid-template-columns: minmax(18rem, 1.15fr) minmax(34rem, 1.8fr);
}

.cio-site.is-home.cio-ux-reveal-ready .cio-home-section {
  opacity: 0;
  transform: translateY(0.5rem);
  transition:
    opacity 420ms ease-out,
    transform 420ms cubic-bezier(.22, .61, .36, 1);
  will-change: opacity, transform;
}

.cio-site.is-home.cio-ux-reveal-ready .cio-home-section.is-cio-revealed {
  opacity: 1;
  transform: translateY(0);
}

.cio-hero__quick-info .cio-quick-item {
  font-size: 0.78rem;
}

.cio-hero__quick-info .cio-quick-item small {
  font-size: 0.72rem;
}

@media (max-width: 74.9375rem) {
  .cio-utility__inner {
    grid-template-columns: minmax(17rem, 1fr) minmax(25rem, 1.4fr);
  }
}

@media (max-width: 61.9375rem) {
  .cio-utility__inner {
    grid-template-columns: 1fr;
  }
}

@media (prefers-reduced-motion: reduce) {
  .cio-site.is-home.cio-ux-reveal-ready .cio-home-section {
    opacity: 1;
    transform: none;
    transition: none;
  }
}
