:root {
  --brand-primary: #003366;
  --brand-secondary: #080357;
  --brand-accent: #f97316;
  --brand-background: #ededed;
  --brand-text: #111827;
  --brand-muted: #6b7280;
  --darkred: var(--brand-primary);
  --blue: var(--brand-secondary);
  --gray: var(--brand-background);
  --rose: #9fb4ca;
  --orange: var(--brand-accent);
  --bghero: var(--brand-primary);
}

path[d^="M44.3547 3.11009"] {
  display: none !important;
}

[data-loader-crest] { display: none; }
[data-loader-logo] {
  display: flex;
  align-items: center;
  justify-content: center;
  contain: layout paint style;
  will-change: top, width, transform;
  backface-visibility: hidden;
  top: 50%;
  bottom: auto !important;
  transform: translate3d(0, -50%, 0);
}
[data-loader-logo] svg { display: none; }
[data-loader-logo]::before {
  content: "";
  display: block;
  width: min(420px, 100%);
  aspect-ratio: 4 / 1;
  background: url("/assets/images/yli/logo-white.png") center / contain no-repeat;
  backface-visibility: hidden;
  transform: translateZ(0);
}
[data-loader-logo].yli-logo-dark::before {
  background-image: url("/assets/images/yli/logo.png");
}
[data-loader-logo].opened::before {
  background-image: url("/assets/images/yli/logo-white.png");
}

@media (min-width: 1024px) {
  [data-loader-logo].animated.small {
    width: clamp(120px, 15vw, 200px) !important;
    top: var(--loader-logo-top) !important;
  }
}

.header::before { content: none; }
.yli-language-switch { width: auto; min-width: 0; height: auto; padding: 6px 2px; display: inline-flex; align-items: center; border: 0; border-radius: 0; color: #fff; background: transparent; font-size: 12px; font-weight: 700; letter-spacing: .1em; cursor: pointer; opacity: .82; transition: transform 140ms cubic-bezier(.23,1,.32,1), opacity 180ms ease; }
.yli-navbar--scrolled .yli-language-switch { color: #063e70; background: transparent; }
.yli-language-switch:active { transform: scale(.96); }
.yli-navbar__actions { display: flex; align-items: center; gap: 18px; }
.yli-mobile-menu-toggle { display: none; width: 42px; height: 42px; padding: 0; border: 0; border-radius: 50%; background: transparent; cursor: pointer; }
.yli-mobile-menu-toggle span { display: block; width: 22px; height: 1.5px; margin: 5px auto; background: currentColor; transition: transform 180ms cubic-bezier(.23,1,.32,1); }
@media (hover:hover) and (pointer:fine) { .yli-language-switch:hover { opacity: 1; } }
@media (max-width:700px) { .yli-language-switch { padding-block: 5px; } }
@media (prefers-reduced-motion:reduce) { .yli-language-switch { transition:none; } }

.yli-footer-logo { width: min(100%, 560px); height: auto; object-fit: contain; object-position: left center; }
.yli-marquee-label {
  min-width: 220px;
  margin: 0 46px;
  color: var(--brand-primary);
  font-size: clamp(24px, 3vw, 42px);
  line-height: 1;
  text-align: center;
  white-space: nowrap;
}

#contact-form textarea { min-height: 110px; resize: vertical; }
.yli-form-note { color: var(--brand-background); font-size: 14px; opacity: .82; margin-top: 20px; }
.yli-home-contact-modal { position: fixed; inset: 0; z-index: 999; display: grid; place-items: center; padding: 18px; overflow: auto; opacity: 0; pointer-events: none; transition: opacity 200ms cubic-bezier(.23,1,.32,1); }
.yli-home-contact-modal.opened { opacity: 1; pointer-events: auto; }
.yli-home-contact-modal__backdrop { position: fixed; inset: 0; background: rgb(3 22 40 / .78); backdrop-filter: blur(5px); }
.yli-home-contact-modal__panel { position: relative; z-index: 1; width: min(1080px, 100%); max-height: calc(100svh - 36px); display: grid; grid-template-columns: .82fr 1.18fr; overflow: auto; border-radius: 26px; color: #071d31; background: #f4f5f2; box-shadow: 0 30px 100px rgb(0 16 35 / .5); opacity: 0; transform: translateY(18px) scale(.98); transition: transform 240ms cubic-bezier(.23,1,.32,1), opacity 180ms ease-out; }
.yli-home-contact-modal.opened .yli-home-contact-modal__panel { opacity: 1; transform: translateY(0) scale(1); }
.yli-home-contact-modal__close { position: absolute; z-index: 3; top: 18px; right: 18px; width: 44px; height: 44px; display: grid; place-items: center; border: 1px solid #9fb2bf; border-radius: 50%; color: #071d31; background: #fff; font-size: 27px; line-height: 1; cursor: pointer; transition: transform 140ms cubic-bezier(.23,1,.32,1); }
.yli-home-contact-modal__close:active { transform: scale(.96); }
.yli-home-contact-modal__intro { padding: clamp(42px, 5vw, 72px); background: #dfeaf0; }
.yli-home-contact-modal__intro > span { font-size: 12px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; }
.yli-home-contact-modal__intro h3 { margin: 64px 0 24px; color: #071d31; font-size: clamp(52px, 5vw, 78px); font-weight: 400; line-height: .9; letter-spacing: -.055em; }
.yli-home-contact-modal__intro p { margin-bottom: 28px; font-size: 16px; line-height: 1.55; color: #526674; }
.yli-home-contact-modal__intro a { display: block; margin-top: 12px; font-weight: 600; }
.yli-home-contact-modal__form-wrap { padding: clamp(48px, 5vw, 72px); background: #f7f7f4; }
.yli-membership-modal .yli-home-contact-modal__panel { width: min(1240px, 100%); grid-template-columns: .72fr 1.28fr; }
.yli-membership-modal .yli-home-contact-modal__intro { position: sticky; top: 0; min-height: 100%; align-self: start; }
.yli-membership-modal .yli-home-contact-modal__intro h3 { max-width: 9em; font-size: clamp(42px, 4vw, 68px); }
.yli-membership-modal .yli-home-contact-modal__intro small { display: block; margin-top: 34px; color: #6b7d88; line-height: 1.5; }
.yli-membership-form__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 30px 22px; }
.yli-membership-form__section { grid-column: 1 / -1; padding: 20px 0 6px; border-top: 1px solid #cbd4d9; }
.yli-membership-form__section:first-child { padding-top: 0; border-top: 0; }
.yli-membership-form__section h4 { margin: 0 0 8px; color: #071d31; font: 400 clamp(28px, 3vw, 40px)/1 'Columbia', serif; }
.yli-membership-form__section p { max-width: 62ch; color: #667985; font-size: 14px; line-height: 1.55; }
.yli-membership-field { display: grid; align-content: start; gap: 10px; color: #071d31; font-size: 14px; }
.yli-membership-field > span, .yli-membership-field legend { line-height: 1.4; }
.yli-membership-field > span > span, .yli-membership-field legend > span { margin-left: 4px; color: #ec6d22; }
.yli-membership-field input:not([type=radio]), .yli-membership-field select, .yli-membership-field textarea { width: 100%; min-height: 44px; padding: 10px 0; border: 0; border-bottom: 1px solid #9fb0ba; border-radius: 0; outline: none; color: #071d31; background: transparent; font: inherit; font-size: 17px; transition: border-color 160ms ease; }
.yli-membership-field textarea { resize: vertical; }
.yli-membership-field input:focus, .yli-membership-field select:focus, .yli-membership-field textarea:focus { border-color: #ec6d22; }
.yli-membership-field--wide, .yli-membership-field--choices { grid-column: 1 / -1; }
.yli-membership-field--choices { border: 0; padding: 0; }
.yli-membership-field--choices > div { display: flex; flex-wrap: wrap; gap: 9px; }
.yli-membership-field--choices label { cursor: pointer; }
.yli-membership-field--choices input { position: absolute; opacity: 0; pointer-events: none; }
.yli-membership-field--choices label span { display: block; padding: 9px 15px; border: 1px solid #b7c4cb; border-radius: 999px; transition: 160ms ease; }
.yli-membership-field--choices input:checked + span { border-color: #003366; color: #fff; background: #003366; }
.yli-membership-consent { display: flex; gap: 11px; align-items: flex-start; margin: 34px 0 24px; color: #526674; font-size: 13px; line-height: 1.45; }
.yli-membership-consent input { margin-top: 3px; accent-color: #003366; }
.yli-membership-honeypot { position: absolute; left: -10000px; }
.yli-membership-form button[disabled] { cursor: wait; opacity: .55; }
.yli-membership-form__status { min-height: 1.5em; margin-top: 18px; color: #526674; font-size: 14px; }
.yli-membership-form__status.is-success { color: #067443; }
.yli-membership-form__status.is-error { color: #b42318; }
#formulaire #contact-form p, #formulaire #contact-form input, #formulaire #contact-form textarea, #formulaire #contact-form select { color: #071d31 !important; border-color: #9fb2bf !important; background: transparent; }
#formulaire #contact-form input::placeholder, #formulaire #contact-form textarea::placeholder { color: #718694; }
#formulaire #contact-form .button { min-height: 52px; padding: 0 24px; color: #fff !important; background: #0797e5; border-radius: 999px; }
#formulaire .yli-form-note { color: #526674; }
@media (hover:hover) and (pointer:fine) { .yli-home-contact-modal__close:hover { transform: rotate(4deg); } }
@media (max-width: 720px) { .yli-home-contact-modal { padding: 0; } .yli-home-contact-modal__panel, .yli-membership-modal .yli-home-contact-modal__panel { max-height: 100svh; grid-template-columns: 1fr; border-radius: 0; } .yli-home-contact-modal__intro, .yli-home-contact-modal__form-wrap { padding: 66px 22px 34px; } .yli-membership-modal .yli-home-contact-modal__intro { position: static; min-height: auto; padding-bottom: 42px; } .yli-home-contact-modal__intro h3 { margin: 30px 0 20px; } .yli-home-contact-modal__intro p, .yli-home-contact-modal__intro a { max-width: 100%; } .yli-membership-form__grid { grid-template-columns: 1fr; gap: 26px; } .yli-membership-field--wide, .yli-membership-field--choices { grid-column: auto; } }
.yli-video-sound > span { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0, 0, 0, 0) !important; white-space: nowrap !important; border: 0 !important; }
.yli-video-sound { width: 54px !important; min-width: 54px !important; height: 54px !important; padding: 0 !important; justify-content: center !important; border-radius: 50% !important; }
@media (prefers-reduced-motion: reduce) { .yli-home-contact-modal, .yli-home-contact-modal__panel, .yli-home-contact-modal__close { transition: none; } }

.yli-cta-collage { overflow: hidden; pointer-events: none; }
.yli-cta-collage__inner { position: absolute; inset: 0; }
.yli-cta-photo {
  position: absolute;
  display: block;
  object-fit: cover;
  border-radius: 2px;
  box-shadow: 0 18px 60px rgb(0 18 44 / .28);
  opacity: .76;
  filter: saturate(.9) contrast(1.04);
  animation: yli-photo-float 7s ease-in-out infinite alternate;
}
.yli-cta-photo--one { width: clamp(150px, 21vw, 340px); aspect-ratio: 4 / 3; left: 3%; top: 8%; --float-x: 14px; --float-y: -18px; }
.yli-cta-photo--two { width: clamp(130px, 17vw, 270px); aspect-ratio: 4 / 5; right: 5%; top: 5%; --float-x: -12px; --float-y: 20px; animation-delay: -1.8s; }
.yli-cta-photo--three { width: clamp(145px, 19vw, 300px); aspect-ratio: 5 / 4; left: 11%; bottom: 4%; --float-x: -16px; --float-y: -14px; animation-delay: -3.6s; }
.yli-cta-photo--four { width: clamp(135px, 18vw, 285px); aspect-ratio: 4 / 3; right: 13%; bottom: 5%; --float-x: 17px; --float-y: 13px; animation-delay: -5.2s; }

@keyframes yli-photo-float {
  from { transform: translate3d(0, 0, 0) rotate(-1.25deg); }
  to { transform: translate3d(var(--float-x), var(--float-y), 0) rotate(1.25deg); }
}

@media (max-width: 767px) {
  .yli-marquee-label { min-width: 160px; margin: 0 24px; font-size: 25px; }
  .yli-cta-photo { opacity: .56; }
  .yli-cta-photo--one { left: -8%; top: 8%; }
  .yli-cta-photo--two { right: -10%; top: 12%; }
  .yli-cta-photo--three { left: -5%; bottom: 8%; }
  .yli-cta-photo--four { right: -8%; bottom: 5%; }
}

@media (prefers-reduced-motion: reduce) {
  .yli-cta-photo { animation: none; }
}

/* Editorial split hero */
[data-loader-logo] { display: none !important; }
.header { mix-blend-mode: normal; }
.yli-navbar {
  width: 61.24% !important;
  height: 92px;
  padding: 0 clamp(28px, 5vw, 76px) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  flex-wrap: nowrap !important;
  transform: none !important;
  background: transparent !important;
  transition: height 220ms cubic-bezier(.23,1,.32,1), background-color 220ms ease, box-shadow 220ms ease !important;
}
.yli-navbar--scrolled {
  width: 100% !important;
  height: 72px;
  background: rgb(244 246 247 / .94) !important;
  box-shadow: 0 1px 0 rgb(0 27 51 / .1);
  backdrop-filter: blur(16px);
}
.yli-navbar__brand { position: relative; z-index: 2; display: block; width: clamp(108px, 8vw, 132px); flex: 0 0 auto; }
.yli-navbar__logo { display: block; width: 100%; height: auto; transition: opacity 180ms ease; }
.yli-navbar__logo--dark { position: absolute; inset: 0; opacity: 0; }
.yli-navbar--scrolled .yli-navbar__logo--light { opacity: 0; }
.yli-navbar--scrolled .yli-navbar__logo--dark { opacity: 1; }
.yli-navbar [data-menu] { display: flex !important; align-items: center; width: auto; transform: translateY(-15px); }
.yli-navbar nav {
  min-height: 0 !important;
  position: static !important;
  width: auto !important;
  padding: 0 !important;
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: clamp(15px, 1.35vw, 24px) !important;
  pointer-events: auto !important;
  background: transparent !important;
}
.yli-navbar nav > span { display: none !important; }
.yli-navbar nav > div { opacity: 1 !important; transform: none !important; pointer-events: auto !important; }
.yli-navbar [data-menu-link] {
  position: relative;
  display: block;
  color: #fff !important;
  font-size: 17px !important;
  font-weight: 600;
  line-height: 1;
  white-space: nowrap;
  opacity: .84;
  transition: opacity 160ms ease, color 180ms ease !important;
}
.yli-navbar--scrolled [data-menu-link] { color: #052b4a !important; }
.yli-navbar [data-menu-link]::after { content: ''; position: absolute; left: 0; right: 0; bottom: -7px; height: 1px; background: currentColor; transform: scaleX(0); transform-origin: right; transition: transform 180ms cubic-bezier(.23,1,.32,1); }
.yli-navbar__join { display: none; min-height: 44px; padding: 0 18px; align-items: center; justify-content: center; gap: 22px; border-radius: 999px; color: #fff; background: #058ee8; font-size: 13px; font-weight: 600; white-space: nowrap; transition: transform 160ms cubic-bezier(.23,1,.32,1), background-color 180ms ease; }
.yli-navbar--scrolled .yli-navbar__join { display: inline-flex; margin-left: auto; }
.yli-navbar__join:active { transform: scale(.97); }
@media (min-width: 1250px) {
  .yli-navbar--scrolled [data-menu] { position: absolute; left: 50%; transform: translate(-50%, -15px); }
}
.yli-split-hero {
  min-height: 100svh;
  display: grid;
  grid-template-columns: minmax(0, 1.58fr) minmax(340px, 1fr);
  position: relative;
  z-index: 1;
  overflow: hidden;
  background: #051b2b;
  color: #fff;
}
.yli-split-hero__panel { min-height: 100svh; position: relative; overflow: hidden; isolation: isolate; }
.yli-split-hero__image { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: -3; }
.yli-split-hero__panel--story .yli-split-hero__image { object-position: 46% center; filter: saturate(.72) contrast(1.06); }
.yli-split-hero__panel--action .yli-split-hero__image { object-position: 51% center; filter: saturate(1.05) contrast(1.04); }
.yli-split-hero__video { background: #102b3f; }
.yli-split-hero__shade { position: absolute; inset: 0; z-index: -2; background: linear-gradient(90deg, rgb(2 20 31 / .88) 0%, rgb(4 27 37 / .69) 55%, rgb(3 26 36 / .55) 100%); }
.yli-split-hero__glow { position: absolute; inset: 0; z-index: -2; background: linear-gradient(180deg, rgb(0 28 65 / .42), transparent 46%, rgb(0 18 43 / .32)); }
.yli-split-hero__brand { display: none; position: absolute; z-index: 2; top: clamp(26px, 4.5vw, 56px); left: clamp(26px, 5vw, 74px); width: clamp(112px, 11vw, 164px); }
.yli-split-hero__brand img { display: block; width: 100%; height: auto; }
.yli-split-hero__copy { position: absolute; left: clamp(28px, 5vw, 76px); top: 50%; width: min(620px, calc(100% - 80px)); transform: translateY(-48%); }
.yli-split-hero__eyebrow { margin-bottom: 20px; font-size: 12px; line-height: 1; letter-spacing: .14em; text-transform: uppercase; opacity: .76; }
.yli-split-hero__copy h1 { max-width: 650px; font-family: 'Overused', sans-serif; font-size: clamp(48px, 5.3vw, 82px); font-weight: 600; line-height: .96; letter-spacing: -.045em; text-wrap: balance; }
.yli-split-hero__intro { max-width: 490px; margin-top: 26px; font-size: clamp(16px, 1.25vw, 20px); line-height: 1.45; opacity: .82; }
.yli-split-hero__program { position: absolute; left: clamp(26px, 3vw, 48px); bottom: 112px; display: grid; gap: 10px; text-shadow: 0 2px 24px rgb(0 0 0 / .38); }
.yli-split-hero__program span { font-size: 12px; letter-spacing: .12em; text-transform: uppercase; opacity: .78; }
.yli-split-hero__program strong { max-width: 360px; font-size: clamp(28px, 2.8vw, 44px); line-height: 1.02; letter-spacing: -.035em; }
.yli-video-sound { position: absolute; left: clamp(26px, 3vw, 48px); bottom: clamp(28px, 4vw, 48px); min-height: 50px; width: max-content; display: inline-flex; align-items: center; gap: 9px; padding: 0 16px 0 14px; border: 1px solid rgb(255 255 255 / .48); border-radius: 999px; color: #fff; background: rgb(0 20 38 / .28); backdrop-filter: blur(10px); font-size: 12px; font-weight: 600; cursor: pointer; transition: transform 160ms cubic-bezier(.23,1,.32,1), background-color 180ms ease, border-color 180ms ease; }
.yli-video-sound svg { width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.yli-video-sound svg path:first-child { fill: currentColor; stroke: none; }
.yli-video-sound__wave { display: none; }
.yli-video-sound.is-audible .yli-video-sound__wave { display: block; }
.yli-video-sound.is-audible .yli-video-sound__mute { display: none; }
.yli-video-sound:active { transform: scale(.97); }
.yli-split-hero__cta { position: absolute; bottom: clamp(28px, 4vw, 48px); display: flex; align-items: center; justify-content: space-between; gap: 32px; min-width: 190px; min-height: 50px; padding: 0 20px; border-radius: 999px; font-size: 14px; font-weight: 600; transition: transform 160ms cubic-bezier(.23,1,.32,1), background-color 180ms ease; }
.yli-split-hero__cta:active { transform: scale(.97); }
.yli-split-hero__cta--light { left: clamp(28px, 5vw, 76px); color: #05233b; background: #f4f6f7; }
.yli-split-hero__cta--blue { right: clamp(28px, 3vw, 48px); color: #fff; background: #058ee8; }
@media (hover:hover) and (pointer:fine) {
  .yli-navbar [data-menu-link]:hover { opacity: 1; }
  .yli-navbar [data-menu-link]:hover::after { transform: scaleX(1); transform-origin: left; }
  .yli-navbar__join:hover { background: #007bc9; }
  .yli-video-sound:hover { background: rgb(0 20 38 / .52); border-color: rgb(255 255 255 / .76); }
  .yli-split-hero__cta:hover { transform: translateY(-2px); }
  .yli-split-hero__cta--light:hover { background: #fff; }
  .yli-split-hero__cta--blue:hover { background: #007bc9; }
}
@media (max-width: 767px) {
  html.yli-menu-open, html.yli-menu-open body { overflow: hidden !important; }
  .yli-navbar { width: 100% !important; height: 70px; padding: 0 20px !important; }
  .yli-navbar--scrolled { height: 64px; }
  .yli-navbar__brand { width: 88px; }
  .yli-navbar__brand, .yli-navbar__actions { z-index: 1001; }
  .yli-navbar [data-menu] { position: fixed !important; inset: 0 !important; z-index: 1000; width: 100% !important; height: 100dvh; padding: 118px 28px 42px !important; align-items: flex-start !important; transform: translateY(-100%) !important; opacity: 0; visibility: hidden; pointer-events: none !important; background: #063e70 !important; box-shadow: none; transition: transform 260ms cubic-bezier(.23,1,.32,1), opacity 180ms ease-out, visibility 180ms; }
  .yli-navbar nav { width: 100% !important; height: 100%; flex-direction: column !important; align-items: stretch !important; justify-content: center !important; gap: 0 !important; }
  .yli-navbar nav > div { display: block !important; }
  .yli-navbar [data-menu-link] { padding: 17px 0; color: #fff !important; font-size: clamp(32px, 10vw, 46px) !important; font-weight: 500; letter-spacing: -.035em; border-bottom: 1px solid rgb(255 255 255 / .2); opacity: 1; }
  .yli-navbar.is-mobile-open [data-menu] { transform: translateY(0) !important; opacity: 1; visibility: visible; pointer-events: auto !important; }
  .yli-mobile-menu-toggle { display: block; color: #fff; }
  .yli-navbar--scrolled .yli-mobile-menu-toggle { color: #052b4a; }
  .yli-navbar.is-mobile-open { background: transparent !important; box-shadow: none; backdrop-filter: none; }
  .yli-navbar.is-mobile-open .yli-navbar__logo--light { opacity: 1; }
  .yli-navbar.is-mobile-open .yli-navbar__logo--dark { opacity: 0; }
  .yli-navbar.is-mobile-open .yli-language-switch, .yli-navbar.is-mobile-open .yli-mobile-menu-toggle { color: #fff; }
  .yli-navbar.is-mobile-open .yli-mobile-menu-toggle span:first-child { transform: translateY(3.25px) rotate(45deg); }
  .yli-navbar.is-mobile-open .yli-mobile-menu-toggle span:last-child { transform: translateY(-3.25px) rotate(-45deg); }
  .yli-navbar__join { display: none !important; }
  .yli-split-hero { grid-template-columns: 1fr; }
  .yli-split-hero__panel { min-height: max(680px, 82svh); }
  .yli-split-hero__panel--action { min-height: max(580px, 72svh); }
  .yli-split-hero__copy { top: 48%; width: calc(100% - 56px); }
  .yli-split-hero__copy h1 { font-size: clamp(44px, 13vw, 66px); }
  .yli-split-hero__intro { font-size: 16px; }
  .yli-split-hero__program { bottom: 106px; }
  .yli-split-hero__cta--blue { left: 28px; right: auto; }
}
@media (min-width: 768px) and (max-width: 1240px) {
  .yli-navbar { width: 100% !important; }
  .yli-navbar [data-menu-link] { font-size: 15px !important; }
  .yli-navbar__join { display: none !important; }
}
@media (prefers-reduced-motion: reduce) {
  .yli-split-hero__cta, .yli-navbar, .yli-navbar * { transition-duration: 0ms !important; }
}

/* About section: text-first treatment and compact cursor CTA */
[data-about-image-div] { display: none !important; }
[data-about-button] { top: -25px !important; left: -76px !important; }
[data-about-button] > div {
  width: auto !important;
  min-width: 152px;
  height: 50px !important;
  padding: 0 18px !important;
  flex-wrap: nowrap !important;
  gap: 22px;
  border: 1px solid rgb(255 255 255 / .42);
  border-radius: 999px;
  color: #fff;
  background: rgb(5 142 232 / .92);
  box-shadow: 0 12px 34px rgb(0 18 44 / .24);
  backdrop-filter: blur(10px);
  transition: transform 180ms cubic-bezier(.23,1,.32,1), background-color 180ms ease !important;
}
[data-about-button] span {
  position: static !important;
  color: inherit !important;
  font-size: 13px !important;
  font-weight: 600;
  white-space: nowrap;
}
[data-about-button] span::after { content: '↗'; margin-left: 18px; font-size: 15px; }
[data-about-button] svg { display: none !important; }
[data-about-button-wrapper-mobile] {
  width: auto !important;
  min-height: 50px;
  padding: 0 18px;
  border: 1px solid rgb(255 255 255 / .42);
  border-radius: 999px;
  background: #058ee8;
}
[data-about-button-wrapper-mobile] span { position: static !important; font-size: 13px !important; font-weight: 600; }
[data-about-button-wrapper-mobile] span::after { content: ' ↗'; }
[data-about-button-wrapper-mobile] svg { display: none !important; }
@media (hover:hover) and (pointer:fine) {
  [data-about-button-wrapper].hover [data-about-button] > div { background: #007bc9; }
}

/* Programmes */
.yli-programmes { padding: clamp(42px, 4vw, 62px) 24px clamp(64px, 6vw, 96px); background: #f7f7f4; color: #071d31; }
.yli-programmes__inner { width: 100%; margin: 0 auto; }
.yli-programmes__header { display: grid; grid-template-columns: 1fr 1.5fr 1fr; align-items: end; gap: 32px; padding: 8px clamp(18px, 3vw, 42px) clamp(26px, 3vw, 40px); }
.yli-programmes__eyebrow { align-self: start; display: flex; align-items: center; gap: 10px; font-size: 12px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; }
.yli-programmes__eyebrow span { width: 7px; height: 7px; border-radius: 50%; background: #569bd3; }
.yli-programmes__header h2 { font-size: clamp(30px, 2.8vw, 46px); font-weight: 600; line-height: 1; letter-spacing: -.04em; }
.yli-programmes__header > p:last-child { max-width: 360px; justify-self: end; font-size: 16px; line-height: 1.5; color: #536573; }
.yli-programmes__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(12px, 1.3vw, 20px); }
.yli-program-card { min-width: 0; border-radius: 20px; overflow: hidden; background: #f0f1ef; }
.yli-program-card__brand { position: relative; height: 240px; overflow: hidden; background: var(--program-color); }
.yli-program-card__photo { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform 240ms cubic-bezier(.23,1,.32,1); }
.yli-program-card--care .yli-program-card__photo { object-position: center 44%; }
.yli-program-card--diplomacy .yli-program-card__photo { object-position: center; }
.yli-program-card--talks .yli-program-card__photo { object-position: center 46%; }
.yli-program-card__content { height: 260px; min-height: 260px; display: flex; flex-direction: column; padding: clamp(22px, 2vw, 28px); background: var(--program-surface); color: var(--program-ink); }
.yli-program-card__content > span { font-size: 11px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; opacity: .62; }
.yli-program-card__title { margin-top: 16px; display: flex; align-items: center; gap: 12px; }
.yli-program-card__title img { width: 42px; height: 42px; flex: 0 0 auto; object-fit: contain; border-radius: 50%; }
.yli-program-card__content h3 { font-size: clamp(25px, 1.9vw, 34px); font-weight: 600; line-height: 1; letter-spacing: -.04em; }
.yli-program-card__content p { margin-top: 17px; font-size: 14px; line-height: 1.48; opacity: .72; }
.yli-program-card__content a { width: max-content; margin-top: auto; padding-top: 18px; display: inline-flex; align-items: center; gap: 28px; border-bottom: 1px solid currentColor; font-size: 13px; font-weight: 600; transition: opacity 160ms ease; }
.yli-program-card__content a:active { opacity: .58; }
.yli-program-card--care { --program-color: #18a951; --program-surface: #edf8f1; --program-ink: #0c5c31; }
.yli-program-card--diplomacy { --program-color: #08085a; --program-surface: #171d2b; --program-ink: #fff; }
.yli-program-card--talks { --program-color: #569bd3; --program-surface: #edf5fb; --program-ink: #174d78; }
@media (min-width: 901px) {
  .yli-program-card--diplomacy { display: flex; flex-direction: column; }
  .yli-program-card--diplomacy .yli-program-card__content { order: 1; }
  .yli-program-card--diplomacy .yli-program-card__brand { order: 2; }
}
@media (hover:hover) and (pointer:fine) {
  .yli-program-card:hover .yli-program-card__photo { transform: scale(1.035); }
  .yli-program-card__content a:hover { opacity: .62; }
}
@media (max-width: 900px) {
  .yli-programmes__header { grid-template-columns: 1fr; }
  .yli-programmes__header > p:last-child { justify-self: start; }
  .yli-programmes__grid { grid-template-columns: 1fr; }
  .yli-program-card { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); }
  .yli-program-card__brand { height: auto; min-height: 360px; }
  .yli-program-card__content { height: auto; min-height: 360px; }
}
@media (max-width: 600px) {
  .yli-programmes { padding-inline: 12px; }
  .yli-program-card { display: block; }
  .yli-programmes__header { padding-inline: 4px; }
  .yli-program-card__brand { min-height: 220px; }
  .yli-program-card__content { min-height: 270px; }
}
@media (prefers-reduced-motion: reduce) {
  .yli-program-card__brand img { transition: none; }
}

/* Simplified post-programmes sections */
.yli-section-shell { width: min(1520px, calc(100% - 48px)); margin: 0 auto; }
.yli-section-kicker { display: flex; align-items: center; gap: 10px; font-size: 12px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; }
.yli-section-kicker > span { width: 7px; height: 7px; border-radius: 50%; background: #569bd3; }
.yli-mission { padding: clamp(90px, 10vw, 170px) 0; color: #fff; background: #08085a; }
.yli-mission__grid { display: grid; grid-template-columns: .65fr 1.35fr; gap: clamp(48px, 8vw, 140px); align-items: start; }
.yli-mission__content { max-width: 980px; }
.yli-mission__content h2 { font-size: clamp(46px, 5.5vw, 88px); font-weight: 400; line-height: .98; letter-spacing: -.045em; }
.yli-mission__content > p { max-width: 690px; margin-top: 32px; font-size: clamp(17px, 1.35vw, 21px); line-height: 1.55; opacity: .74; }
.yli-simple-link { width: max-content; margin-top: 44px; display: inline-flex; align-items: center; gap: 28px; padding-bottom: 6px; border-bottom: 1px solid currentColor; font-size: 14px; font-weight: 600; transition: opacity 160ms ease; }
.yli-simple-header { display: grid; grid-template-columns: .55fr 1.35fr .8fr; align-items: center; gap: 40px; margin-bottom: clamp(48px, 5vw, 76px); }
.yli-simple-header h2 { font-size: clamp(38px, 3.35vw, 56px); font-weight: 500; line-height: 1; letter-spacing: -.04em; }
.yli-simple-header > p:last-child { max-width: 420px; font-size: 17px; line-height: 1.55; color: #5b6975; }
.yli-actions { padding: clamp(90px, 9vw, 150px) 0; color: #071d31; background: #f7f7f4; }
.yli-actions__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.yli-action-card { border-radius: 20px; overflow: hidden; background: #edf1f2; }
.yli-action-card > img { width: 100%; height: clamp(260px, 25vw, 420px); object-fit: cover; transition: transform 240ms cubic-bezier(.23,1,.32,1); }
.yli-action-card > div { min-height: 250px; display: flex; flex-direction: column; padding: clamp(26px, 3vw, 42px); }
.yli-action-card span { color: #3979a8; font-size: 11px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; }
.yli-action-card h3 { margin-top: 18px; font-size: clamp(28px, 2.4vw, 40px); font-weight: 600; line-height: 1; letter-spacing: -.035em; }
.yli-action-card p { max-width: 390px; margin-top: auto; padding-top: 28px; font-size: 15px; line-height: 1.55; color: #5b6975; }
.yli-vision { padding: clamp(72px, 7vw, 110px) 0; color: #071d31; background: #dfe9ee; }
.yli-vision__grid { width: min(1400px, calc(100% - 48px)); display: grid; grid-template-columns: 1fr 1fr; gap: clamp(44px, 6vw, 92px); align-items: center; }
.yli-vision__image { height: clamp(460px, 34vw, 540px); min-height: 0; border-radius: 20px; overflow: hidden; }
.yli-vision__image img { width: 100%; height: 100%; min-height: 0; object-fit: cover; }
.yli-vision__content h2 { margin-top: 32px; font-size: clamp(38px, 3.5vw, 56px); font-weight: 500; line-height: 1; letter-spacing: -.04em; }
.yli-vision__content > p { max-width: 580px; margin-top: 24px; font-size: 17px; line-height: 1.55; color: #526876; }
.yli-vision dl { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; margin-top: 42px; }
.yli-vision dl div { padding-top: 20px; border-top: 1px solid rgb(7 29 49 / .3); }
.yli-vision dt { font-size: 25px; font-weight: 600; }
.yli-vision dd { margin-top: 6px; font-size: 13px; color: #657784; }
.yli-join-cta { padding: clamp(100px, 11vw, 180px) 0; color: #fff; text-align: center; background: #063e70; }
.yli-join-cta__inner { display: flex; flex-direction: column; align-items: center; }
.yli-join-cta .yli-section-kicker { margin-bottom: 38px; }
.yli-join-cta h2 { font-size: clamp(52px, 6vw, 96px); font-weight: 400; line-height: .94; letter-spacing: -.05em; }
.yli-join-cta__inner > p:not(.yli-section-kicker) { max-width: 590px; margin-top: 30px; font-size: 18px; line-height: 1.55; opacity: .76; }
.yli-join-cta__inner > a { min-width: 220px; min-height: 54px; margin-top: 42px; padding: 0 21px; display: inline-flex; align-items: center; justify-content: space-between; gap: 34px; border-radius: 999px; color: #063e70; background: #fff; font-size: 14px; font-weight: 600; transition: transform 160ms cubic-bezier(.23,1,.32,1), background-color 180ms ease; }
.yli-join-cta__inner > a:active { transform: scale(.97); }
@media (hover:hover) and (pointer:fine) {
  .yli-simple-link:hover { opacity: .62; }
  .yli-action-card:hover > img { transform: scale(1.025); }
  .yli-join-cta__inner > a:hover { background: #e7f4fb; }
}
@media (max-width: 900px) {
  .yli-mission__grid, .yli-simple-header, .yli-vision__grid { grid-template-columns: 1fr; }
  .yli-actions__grid { grid-template-columns: 1fr; }
  .yli-action-card { display: grid; grid-template-columns: 1fr 1fr; }
  .yli-action-card > img { height: 100%; min-height: 330px; }
  .yli-vision__image, .yli-vision__image img { min-height: 480px; }
}
@media (max-width: 600px) {
  .yli-section-shell { width: min(100% - 28px, 1520px); }
  .yli-actions .yli-simple-header { padding-inline: 10px; }
  .yli-mission__grid,
  .yli-vision__content { padding-inline: 10px; }
  .yli-mission { min-height: 100svh; display: flex; align-items: center; padding-block: 82px; }
  .yli-mission__grid { width: 100%; }
  .yli-actions, .yli-join-cta { padding-block: 72px; }
  .yli-mission__content h2, .yli-simple-header h2, .yli-vision__content h2 { font-size: 38px; }
  .yli-action-card { display: block; }
  .yli-action-card > img { min-height: 270px; }
  .yli-vision__image, .yli-vision__image img { min-height: 320px; }
  .yli-vision dl { margin-top: 42px; }
}
@media (prefers-reduced-motion: reduce) {
  .yli-action-card > img, .yli-join-cta__inner > a { transition: none; }
}

/* Footer */
.yli-footer { padding: 0 !important; color: #fff; background: #063e70; }
.yli-footer__inner { width: min(1520px, calc(100% - 48px)); margin: 0 auto; padding: clamp(72px, 8vw, 120px) 0 36px; display: grid; grid-template-columns: 1.1fr 1.15fr .9fr; gap: clamp(48px, 7vw, 110px); }
.yli-footer__about > img { width: min(230px, 100%); height: auto; }
.yli-footer__about > p { max-width: 450px; margin-top: 36px; font-size: 16px; line-height: 1.65; opacity: .74; }
.yli-footer__socials { display: flex; align-items: center; gap: 10px; margin-top: 30px; }
.yli-footer__socials a { width: 38px; height: 38px; display: grid; place-items: center; border: 1px solid rgb(255 255 255 / .32); border-radius: 50%; color: #fff; font-size: 14px; font-weight: 600; transition: transform 160ms cubic-bezier(.23,1,.32,1), background-color 180ms ease; }
.yli-footer__links { display: grid; grid-template-columns: 1fr 1fr; gap: 42px; }
.yli-footer h3 { margin-bottom: 24px; font-size: 16px; font-weight: 600; }
.yli-footer__links div { display: flex; flex-direction: column; align-items: flex-start; }
.yli-footer__links a { margin-top: 13px; font-size: 14px; opacity: .72; transition: opacity 160ms ease; }
.yli-footer__contact > div { margin-top: 22px; display: grid; gap: 6px; }
.yli-footer__contact > div span { font-size: 11px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; opacity: .56; }
.yli-footer__contact > div a { font-size: 15px; }
.yli-footer__button { width: max-content; min-width: 182px; min-height: 50px; margin-top: 34px; padding: 0 18px; display: inline-flex; align-items: center; justify-content: space-between; gap: 28px; border-radius: 999px; color: #063e70; background: #fff; font-size: 13px; font-weight: 600; transition: transform 160ms cubic-bezier(.23,1,.32,1), background-color 180ms ease; }
.yli-footer__button:active { transform: scale(.97); }
.yli-footer__bottom { grid-column: 1 / -1; margin-top: 22px; padding-top: 28px; display: flex; justify-content: space-between; gap: 28px; border-top: 1px solid rgb(255 255 255 / .2); font-size: 12px; opacity: .66; }
.yli-footer__bottom > div { display: flex; gap: 30px; }
@media (hover:hover) and (pointer:fine) {
  .yli-footer__socials a:hover { transform: translateY(-2px); background: rgb(255 255 255 / .12); }
  .yli-footer__links a:hover { opacity: 1; }
  .yli-footer__button:hover { background: #e7f4fb; }
}
@media (max-width: 900px) {
  .yli-footer__inner { grid-template-columns: 1fr 1fr; }
  .yli-footer__contact { grid-column: 2; }
}
@media (max-width: 600px) {
  .yli-footer__inner { width: calc(100% - 32px); padding-top: 64px; grid-template-columns: 1fr; gap: 44px; }
  .yli-footer__links, .yli-footer__contact { grid-column: auto; }
  .yli-footer__bottom { flex-direction: column; }
  .yli-footer__bottom > div { flex-direction: column; gap: 12px; }
}
@media (prefers-reduced-motion: reduce) {
  .yli-footer__socials a, .yli-footer__button { transition: none; }
}
@media (max-width:767px) {
  .yli-navbar nav > div { opacity: 0 !important; transform: translateY(18px) !important; transition: transform 220ms cubic-bezier(.23,1,.32,1), opacity 160ms ease-out !important; }
  .yli-navbar.is-mobile-open nav > div { opacity: 1 !important; transform: translateY(0) !important; }
  .yli-navbar.is-mobile-open nav > div:nth-of-type(2) { transition-delay: 35ms !important; }
  .yli-navbar.is-mobile-open nav > div:nth-of-type(3) { transition-delay: 70ms !important; }
  .yli-navbar.is-mobile-open nav > div:nth-of-type(4) { transition-delay: 105ms !important; }
  .yli-navbar.is-mobile-open nav > div:nth-of-type(5) { transition-delay: 140ms !important; }
}

/* On mobile, retain the original hero layout but use the existing video as its background. */
@media (max-width:767px) {
  .yli-split-hero { position: relative; display: grid; min-height: 100svh; padding: 0; background: #051b2b; }
  .yli-split-hero__panel--story { z-index: 2; background: transparent; }
  .yli-split-hero__panel--story > .yli-split-hero__image { display: none; }
  .yli-split-hero__panel--story, .yli-split-hero__panel--action { min-height: 100svh; }
  .yli-split-hero__panel--action { position: absolute; inset: 0; z-index: 1; pointer-events: none; }
  .yli-split-hero__panel--action .yli-split-hero__video { display: block; object-position: 51% center; }
  .yli-split-hero__panel--action .yli-split-hero__program,
  .yli-split-hero__panel--action .yli-video-sound,
  .yli-split-hero__panel--action .yli-split-hero__cta { display: none; }
  .yli-split-hero__copy {
    top: auto;
    bottom: 210px;
    transform: none;
  }
  .yli-split-hero__cta--light { bottom: calc(128px + env(safe-area-inset-bottom)); }
}
.yli-split-char {
  display: inline-block;
  will-change: transform, opacity;
}

.yli-scroll-section {
  opacity: 0;
  transform: translateY(36px);
  transition: opacity .7s ease, transform .85s cubic-bezier(.22, 1, .36, 1);
}
.yli-scroll-section.is-scroll-visible {
  opacity: 1;
  transform: translateY(0);
}
@media (prefers-reduced-motion: reduce) {
  .yli-scroll-section { opacity: 1; transform: none; transition: none; }
}

/* Compact contact dialog: no nested desktop scrollbar and a stable close control. */
#formulaire { overflow: hidden; }
#formulaire .yli-home-contact-modal__panel {
  overflow: hidden;
  scrollbar-width: none;
  -ms-overflow-style: none;
}
#formulaire .yli-home-contact-modal__panel::-webkit-scrollbar { display: none; width: 0; height: 0; }
#formulaire .yli-home-contact-modal__intro { padding: clamp(34px, 4vw, 56px); }
#formulaire .yli-home-contact-modal__intro h3 { margin: clamp(34px, 5vh, 50px) 0 20px; font-size: clamp(48px, 4.4vw, 70px); }
#formulaire .yli-home-contact-modal__form-wrap { padding: clamp(40px, 4vw, 56px); }
#formulaire .yli-home-contact-modal__close {
  top: 20px;
  right: 20px;
  width: 46px;
  height: 46px;
  padding: 0;
  font-size: 0;
  box-shadow: 0 6px 20px rgb(7 29 49 / .1);
}
#formulaire .yli-home-contact-modal__close::before,
#formulaire .yli-home-contact-modal__close::after {
  content: "";
  position: absolute;
  width: 17px;
  height: 1.5px;
  border-radius: 2px;
  background: currentColor;
}
#formulaire .yli-home-contact-modal__close::before { transform: rotate(45deg); }
#formulaire .yli-home-contact-modal__close::after { transform: rotate(-45deg); }

@media (max-width: 720px) {
  #formulaire .yli-home-contact-modal__panel {
    width: 100%;
    height: 100svh;
    max-height: none;
    overflow-x: hidden;
    overflow-y: auto;
  }
  #formulaire .yli-home-contact-modal__close {
    position: fixed;
    top: max(14px, env(safe-area-inset-top));
    right: max(14px, env(safe-area-inset-right));
  }
  #formulaire .yli-home-contact-modal__intro { padding: 72px 22px 34px; }
  #formulaire .yli-home-contact-modal__intro h3 { margin: 26px 0 18px; }
  #formulaire .yli-home-contact-modal__form-wrap { padding: 32px 22px calc(34px + env(safe-area-inset-bottom)); }
}
