/* Omexis faithful logo system - source: Charte Graphique / omexis-sa-logo-fidele-transparent.png */
:root {
  --omx-blue-reference-image: #0A192D;
  --omx-blue-omexis-reference: var(--omx-blue-reference-image);
  --omx-logo-fidele-full: url("omexis-sa-logo-fidele-eclat-transparent.png?v=20260814-flat-site-header");
  --omx-logo-fidele-compact: url("omexis-sa-logo-fidele-compact-eclat.png?v=20260814-flat-site-header");
  --omx-emblem-fidele: url("../brand/emblem/omexis-emblem-fidele-eclat.png?v=20260516-logo-shadow-1");
}

.omx-logo__mark,
.omx-logo__text,
.nav-logo__mark,
.nav-logo__text {
  display: none !important;
}

.omx-logo,
.omx-logo--nav,
.omx-logo--footer,
.nav-logo {
  position: relative !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 0 !important;
  min-height: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
  color: transparent !important;
  line-height: 0 !important;
  text-decoration: none !important;
}

.omx-logo::before,
.omx-logo--nav::before,
.nav-logo::before,
.nav.is-scrolled .omx-logo::before,
.nav.is-scrolled .omx-logo--nav::before {
  content: "" !important;
  display: block !important;
  flex: 0 0 auto !important;
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  position: relative !important;
  z-index: 1 !important;
  background-image: var(--omx-logo-fidele-compact) !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  background-size: contain !important;
  filter: none !important;
  transform: none !important;
}

.nav .omx-logo,
.nav .omx-logo--nav,
header .omx-logo--nav,
.nav-logo {
  width: clamp(126px, 9.4vw, 166px) !important;
  height: auto !important;
  aspect-ratio: 1017 / 460 !important;
}

footer#site-footer .omx-logo--footer,
footer#site-footer .omx-logo,
footer .omx-logo--footer,
footer .omx-logo {
  width: min(430px, 100%) !important;
  max-width: 100% !important;
  height: auto !important;
  aspect-ratio: 1017 / 737 !important;
}

footer#site-footer .omx-logo--footer::before,
footer#site-footer .omx-logo::before,
footer .omx-logo--footer::before,
footer .omx-logo::before {
  width: 100% !important;
  height: 100% !important;
  aspect-ratio: 1017 / 737 !important;
  background-image: var(--omx-logo-fidele-full) !important;
  background-position: center !important;
  background-size: contain !important;
}

body.home #accueil img.hero-brand-logo,
#accueil img.hero-brand-logo,
body.home #accueil .hero-brand-logo,
#accueil .hero-brand-logo {
  width: min(430px, 78vw) !important;
  max-width: 100% !important;
  height: auto !important;
  aspect-ratio: 1017 / 737 !important;
  object-fit: contain !important;
  object-position: center !important;
  background: transparent !important;
  filter: none !important;
}

body.home #accueil img.hero-brand-logo,
#accueil img.hero-brand-logo {
  content: var(--omx-logo-fidele-full) !important;
}

.footer-bottom::before,
footer#site-footer .footer-bottom::before,
footer .footer-bottom::before,
.about-emblem-bullet::before,
.emblem-bullet::before,
.logo-bullet::before {
  background-image: var(--omx-emblem-fidele) !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  background-size: contain !important;
  filter: none !important;
}

.services-list .service-item .service-check {
  display: grid !important;
  place-items: center !important;
  width: 56px !important;
  height: 56px !important;
  min-width: 56px !important;
  margin: 0 !important;
  flex: none !important;
  background: transparent !important;
  background-image: none !important;
  border: 1px solid rgba(201, 166, 70, 0.34) !important;
  border-radius: 50% !important;
  box-shadow: none !important;
  color: transparent !important;
  font-size: 0 !important;
  position: relative !important;
}

.services-list .service-item .service-check::before {
  position: absolute !important;
  inset: 0 !important;
  display: grid !important;
  place-items: center !important;
  width: 100% !important;
  height: 100% !important;
  background: none !important;
  background-image: none !important;
  border: 0 !important;
  transform: none !important;
  color: var(--omx-gold-soft, #E8D28F) !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: 0 !important;
  line-height: 1 !important;
}

.services-list .service-item:nth-child(1) .service-check::before { content: "01" !important; }
.services-list .service-item:nth-child(2) .service-check::before { content: "02" !important; }
.services-list .service-item:nth-child(3) .service-check::before { content: "03" !important; }

@media (max-width: 760px) {
  .nav .omx-logo,
  .nav .omx-logo--nav,
  header .omx-logo--nav,
  .nav-logo {
    width: clamp(118px, 34vw, 146px) !important;
  }

  footer#site-footer .omx-logo--footer,
  footer#site-footer .omx-logo,
  footer .omx-logo--footer,
  footer .omx-logo {
    width: min(300px, 82vw) !important;
  }

  .services-list .service-item .service-check {
    width: 48px !important;
    height: 48px !important;
    min-width: 48px !important;
  }
}

/* Omexis premium identity refresh 2026-05-16 */
:root {
  --omx-blue-reference-image: #0A192D !important;
  --omx-blue-omexis-reference: #0A192D !important;
  --omx-blue: #0A192D !important;
  --omx-blue-deep: #061225 !important;
  --omx-blue-ink: #030A14 !important;
  --omx-red: #D6001C !important;
  --omx-swiss-red: #D6001C !important;
  --omx-gold: #CFA34B !important;
  --omx-gold-soft: #E8CF8B !important;
  --omx-gold-deep: #75571F !important;
  --omx-ivory: #F8F6EF !important;
  --omx-warm: #D9D1BF !important;
  --omx-text: rgba(248, 246, 239, 0.95) !important;
  --omx-muted: rgba(217, 209, 191, 0.78) !important;
  --omx-soft: rgba(217, 209, 191, 0.58) !important;
  --omx-faint: rgba(248, 246, 239, 0.085) !important;
  --omx-rule: rgba(207, 163, 75, 0.28) !important;
  --omx-rule-strong: rgba(207, 163, 75, 0.54) !important;
  --omx-panel: rgba(6, 18, 37, 0.64) !important;
  --omx-panel-strong: rgba(4, 13, 27, 0.84) !important;
  --omx-logo-fidele-full: url("omexis-sa-logo-fidele-eclat-transparent.png?v=20260814-flat-site-header");
  --omx-logo-fidele-compact: url("omexis-sa-logo-fidele-compact-eclat.png?v=20260814-flat-site-header");
  --omx-emblem-fidele: url("../brand/emblem/omexis-emblem-fidele-eclat.png?v=20260516-premium-identity-1");
}

html {
  background-color: var(--omx-blue-ink) !important;
  color-scheme: dark !important;
}

body {
  color: var(--omx-text) !important;
  background-color: var(--omx-blue-deep) !important;
  background-image:
    linear-gradient(180deg, rgba(3, 10, 20, 0.10) 0%, rgba(3, 10, 20, 0.50) 58%, rgba(3, 10, 20, 0.86) 100%),
    repeating-linear-gradient(104deg, rgba(248, 246, 239, 0.018) 0 1px, rgba(248, 246, 239, 0) 1px 6px),
    linear-gradient(135deg, #102845 0%, #0A192D 42%, #061225 100%) !important;
  background-attachment: fixed, fixed, fixed !important;
  background-size: cover, 180px 180px, cover !important;
}

body::before {
  background-image:
    repeating-linear-gradient(90deg, rgba(248, 246, 239, 0.018) 0 1px, transparent 1px 8px),
    repeating-linear-gradient(0deg, rgba(207, 163, 75, 0.014) 0 1px, transparent 1px 12px) !important;
  opacity: 0.24 !important;
}

body::after {
  background:
    linear-gradient(90deg, rgba(248, 246, 239, 0.030) 1px, transparent 1px),
    linear-gradient(180deg, rgba(207, 163, 75, 0.020) 1px, transparent 1px) !important;
  background-size: calc((100vw - 48px) / 12) 100%, 100% 160px !important;
  opacity: 0.13 !important;
}

section,
main,
.page,
.page-shell,
.legal-page,
.pillar-page,
#accueil,
#services,
#notre-role,
#pourquoi,
#contact {
  background-color: transparent !important;
}

#accueil {
  background-image:
    linear-gradient(180deg, rgba(6, 18, 37, 0) 0%, rgba(6, 18, 37, 0.34) 72%, var(--omx-blue-deep) 100%),
    repeating-linear-gradient(104deg, rgba(248, 246, 239, 0.014) 0 1px, transparent 1px 7px),
    linear-gradient(135deg, #102845 0%, #0A192D 46%, #061225 100%) !important;
}

.nav {
  background: linear-gradient(180deg, rgba(3, 10, 20, 0.82), rgba(3, 10, 20, 0)) !important;
}

.nav.is-scrolled,
body.menu-open .nav {
  background: rgba(5, 15, 30, 0.94) !important;
  border-bottom-color: rgba(207, 163, 75, 0.28) !important;
}

.nav-links a:not(.lang-link):hover {
  color: var(--omx-gold-soft) !important;
}

.lang-switch {
  border-color: rgba(214, 0, 28, 0.76) !important;
  background: rgba(214, 0, 28, 0.10) !important;
}

.lang-link {
  color: #FF4A55 !important;
}

.lang-link.is-current,
.lang-link[aria-current="page"],
.lang-link:hover {
  background: var(--omx-red) !important;
  color: #FFFFFF !important;
}

:where(.service-item, .contact-form, .legal-copy, .about-card, .priority-card, .method-card, .pillar-card, .role-card, .why-card, .value-card, .timeline-item, .roadmap-item, .audit-card, .kpi-card, .mission-card, .feature-card, .info-card, .content-card, .proof-card, .faq-item, .footer-contact, .contact-info-item, .language-card, .services-list li) {
  background-color: rgba(6, 18, 37, 0.58) !important;
  background-image:
    linear-gradient(145deg, rgba(248, 246, 239, 0.055), rgba(248, 246, 239, 0.015) 42%, rgba(207, 163, 75, 0.026) 100%) !important;
  border-color: rgba(207, 163, 75, 0.24) !important;
  box-shadow: 0 24px 72px rgba(0, 0, 0, 0.24) !important;
}

:where(.service-item, .contact-form, .legal-copy, .about-card, .priority-card, .method-card, .pillar-card, .role-card, .why-card, .value-card, .timeline-item, .roadmap-item, .audit-card, .kpi-card, .mission-card, .feature-card, .info-card, .content-card, .proof-card, .faq-item, .footer-contact, .contact-info-item, .language-card, .services-list li)::before {
  border-color: rgba(207, 163, 75, 0.20) !important;
}

footer,
#site-footer,
.site-footer {
  background:
    linear-gradient(180deg, rgba(6, 18, 37, 0.66), rgba(3, 10, 20, 0.96)),
    repeating-linear-gradient(104deg, rgba(248, 246, 239, 0.014) 0 1px, transparent 1px 7px) !important;
  border-top-color: rgba(207, 163, 75, 0.28) !important;
}

.omx-logo::before,
.omx-logo--nav::before,
.nav-logo::before,
footer .omx-logo::before,
footer .omx-logo--footer::before,
.footer-bottom::before,
.about-emblem-bullet::before,
.emblem-bullet::before,
.logo-bullet::before {
  filter: drop-shadow(0 14px 24px rgba(0, 0, 0, 0.28)) !important;
}

#accueil img.hero-brand-logo,
#accueil .hero-brand-logo {
  filter: drop-shadow(0 18px 30px rgba(0, 0, 0, 0.34)) !important;
}

button,
.btn,
.cta,
.cta-primary,
.form-submit,
.contact-form button,
[type="submit"] {
  border-color: rgba(207, 163, 75, 0.34) !important;
}

@media (max-width: 760px) {
  body {
    background-image:
      linear-gradient(180deg, rgba(3, 10, 20, 0.08) 0%, rgba(3, 10, 20, 0.64) 100%),
      repeating-linear-gradient(104deg, rgba(248, 246, 239, 0.016) 0 1px, rgba(248, 246, 239, 0) 1px 7px),
      linear-gradient(150deg, #102845 0%, #0A192D 48%, #061225 100%) !important;
  }

  #accueil {
    background-image:
      linear-gradient(180deg, rgba(6, 18, 37, 0) 0%, rgba(6, 18, 37, 0.58) 76%, var(--omx-blue-deep) 100%),
      repeating-linear-gradient(104deg, rgba(248, 246, 239, 0.014) 0 1px, transparent 1px 7px),
      linear-gradient(150deg, #102845 0%, #0A192D 48%, #061225 100%) !important;
  }
}

/* Omexis visual coherence pass - premium Swiss corporate harmonization. */
:root {
  --omx-blue-reference-image: #0A192D !important;
  --omx-blue-omexis-reference: #0A192D !important;
  --omx-blue: #0A192D !important;
  --omx-blue-deep: #061225 !important;
  --omx-blue-ink: #030A14 !important;
  --omx-blue-soft: #102845 !important;
  --omx-red: #D6001C !important;
  --omx-swiss-red: #D6001C !important;
  --omx-gold: #CFA34B !important;
  --omx-gold-soft: #E8CF8B !important;
  --omx-gold-deep: #75571F !important;
  --omx-ivory: #F8F6EF !important;
  --omx-warm: #D9D1BF !important;
  --omx-text: rgba(248, 246, 239, 0.94) !important;
  --omx-muted: rgba(217, 209, 191, 0.78) !important;
  --omx-soft: rgba(217, 209, 191, 0.58) !important;
  --omx-faint: rgba(248, 246, 239, 0.075) !important;
  --omx-rule: rgba(207, 163, 75, 0.26) !important;
  --omx-rule-strong: rgba(207, 163, 75, 0.46) !important;
  --omx-panel: rgba(6, 18, 37, 0.74) !important;
  --omx-panel-strong: rgba(3, 10, 20, 0.88) !important;
  --omx-radius: 6px !important;
  --omx-shadow: 0 28px 72px rgba(0, 0, 0, 0.28) !important;
  --omx-shadow-soft: 0 18px 46px rgba(0, 0, 0, 0.20) !important;
}

html,
body {
  background-color: var(--omx-blue-ink) !important;
  color: var(--omx-text) !important;
}

body {
  background-image:
    linear-gradient(180deg, rgba(3, 10, 20, 0.08) 0%, rgba(3, 10, 20, 0.58) 58%, var(--omx-blue-ink) 100%),
    linear-gradient(135deg, var(--omx-blue-soft) 0%, var(--omx-blue) 42%, var(--omx-blue-deep) 100%) !important;
  background-attachment: fixed !important;
  background-size: cover !important;
}

body::before {
  background-image:
    linear-gradient(90deg, rgba(248, 246, 239, 0.018) 1px, transparent 1px),
    linear-gradient(180deg, rgba(207, 163, 75, 0.016) 1px, transparent 1px) !important;
  background-size: 120px 120px !important;
  opacity: 0.18 !important;
}

body::after,
#accueil > .container::after {
  display: none !important;
}

.omx-reveal,
.omx-reveal.is-visible,
.hero-title,
.hero-subtitle,
.hero-cta-group,
.hero-tag {
  opacity: 1 !important;
  transform: none !important;
  animation: none !important;
  transition: border-color 220ms ease, background-color 220ms ease, color 220ms ease, box-shadow 220ms ease !important;
}

section,
main,
.legal-page,
.about-page,
.pillar-page {
  background: transparent !important;
}

section {
  padding-top: 132px !important;
  padding-bottom: 132px !important;
}

.container,
.nav-inner,
.pillar-page .pillar-hero .container,
body[data-page-segment="about-pages"] .about-page .about-hero .container {
  width: min(1180px, calc(100vw - 72px)) !important;
  max-width: none !important;
  margin-inline: auto !important;
}

h1,
h2,
h3,
h4,
.hero-title,
.pillar-hero-copy h1,
.about-page .about-hero h1,
.legal-page h1,
.pillar-section-heading h2,
.method-board-intro h2 {
  color: var(--omx-ivory) !important;
  letter-spacing: 0 !important;
  text-wrap: balance;
}

h1,
.hero-title,
.pillar-hero-copy h1,
.about-page .about-hero h1,
.legal-page h1 {
  font-size: 4rem !important;
  line-height: 1.05 !important;
  font-weight: 800 !important;
}

h2,
.pillar-section-heading h2,
.method-board-intro h2 {
  font-size: 3rem !important;
  line-height: 1.12 !important;
  font-weight: 780 !important;
  max-width: 16ch !important;
}

h3 {
  font-size: 1.18rem !important;
  line-height: 1.34 !important;
}

p,
li,
.pillar-intro,
.method-board-lead,
.about-highlight,
.hero-subtitle,
.section-intro {
  color: var(--omx-muted) !important;
}

a:not(.btn-primary):not(.form-submit):not(.lang-link):not(.omx-logo):not(.nav-logo):hover {
  color: var(--omx-gold-soft) !important;
}

.nav {
  height: 88px !important;
  background: linear-gradient(180deg, rgba(3, 10, 20, 0.96), rgba(3, 10, 20, 0.76)) !important;
  border-bottom: 1px solid rgba(207, 163, 75, 0.22) !important;
  box-shadow: 0 18px 42px rgba(0, 0, 0, 0.18) !important;
  backdrop-filter: blur(10px) saturate(120%) !important;
}

.nav.is-scrolled,
body.menu-open .nav {
  height: 76px !important;
  background: rgba(3, 10, 20, 0.96) !important;
  border-bottom-color: rgba(207, 163, 75, 0.32) !important;
}

.nav .omx-logo,
.nav .omx-logo--nav,
header .omx-logo--nav,
.nav-logo {
  width: 156px !important;
  aspect-ratio: 1017 / 460 !important;
}

.nav .omx-logo::before,
.nav .omx-logo--nav::before,
.nav-logo::before {
  filter: drop-shadow(0 10px 18px rgba(0, 0, 0, 0.24)) !important;
}

.nav-links {
  gap: 28px !important;
}

.nav-links a:not(.lang-link) {
  color: var(--omx-ivory) !important;
  font-size: 0.78rem !important;
  font-weight: 800 !important;
  letter-spacing: 0 !important;
}

.nav-links a:not(.lang-link)::before {
  background: var(--omx-red) !important;
}

.nav-links a:not(.lang-link)::after {
  background: linear-gradient(90deg, var(--omx-red), var(--omx-gold)) !important;
}

.nav-links a:not(.lang-link):hover {
  color: var(--omx-gold-soft) !important;
}

.nav .nav-links .lang-switch {
  border-color: rgba(214, 0, 28, 0.62) !important;
  background: rgba(214, 0, 28, 0.08) !important;
  box-shadow: none !important;
}

.nav .nav-links .lang-link {
  color: var(--omx-warm) !important;
  border-radius: 2px !important;
}

.nav .nav-links .lang-link + .lang-link {
  border-left-color: rgba(214, 0, 28, 0.28) !important;
}

.nav .nav-links .lang-link:hover,
.nav .nav-links .lang-link:focus-visible,
.nav .nav-links .lang-link.is-current,
.nav .nav-links .lang-link[aria-current="page"] {
  color: #FFFFFF !important;
  background: var(--omx-red) !important;
}

#accueil {
  min-height: 100svh !important;
  padding: 132px 0 96px !important;
  display: flex !important;
  align-items: center !important;
  background-image:
    linear-gradient(180deg, rgba(3, 10, 20, 0.10) 0%, rgba(6, 18, 37, 0.54) 68%, var(--omx-blue-deep) 100%),
    radial-gradient(ellipse at 74% 30%, rgba(207, 163, 75, 0.10) 0%, transparent 44%),
    linear-gradient(135deg, var(--omx-blue-soft) 0%, var(--omx-blue) 48%, var(--omx-blue-deep) 100%) !important;
  border-bottom: 1px solid rgba(207, 163, 75, 0.20) !important;
}

#accueil::before {
  left: max(36px, calc((100vw - min(1180px, calc(100vw - 72px))) / 2)) !important;
  top: 24% !important;
  height: 96px !important;
  background: linear-gradient(180deg, var(--omx-red), var(--omx-gold)) !important;
  opacity: 0.9 !important;
}

#accueil::after {
  opacity: 0.04 !important;
  filter: none !important;
}

#accueil > .container {
  display: grid !important;
  grid-template-columns: minmax(280px, 0.88fr) minmax(420px, 1.12fr) !important;
  gap: 72px 88px !important;
  align-items: center !important;
}

#accueil img.hero-brand-logo,
#accueil .hero-brand-logo {
  grid-column: 1 !important;
  grid-row: 1 / span 4 !important;
  width: min(390px, 100%) !important;
  justify-self: start !important;
  margin: 0 !important;
  filter: drop-shadow(0 20px 34px rgba(0, 0, 0, 0.34)) !important;
}

#accueil .hero-tag,
#accueil .hero-title,
#accueil .hero-subtitle,
#accueil .hero-cta-group {
  grid-column: 2 !important;
}

#accueil .hero-tag,
.section-tag,
.last-update,
.eyebrow {
  color: var(--omx-gold-soft) !important;
  font-size: 0.74rem !important;
  font-weight: 800 !important;
  letter-spacing: 0 !important;
}

#accueil .hero-tag {
  margin-bottom: 22px !important;
}

.hero-title {
  max-width: 15ch !important;
  margin-bottom: 26px !important;
}

.omx-headline-gold {
  color: var(--omx-gold-soft) !important;
  background: none !important;
  -webkit-background-clip: initial !important;
  background-clip: initial !important;
}

.hero-subtitle {
  max-width: 46ch !important;
  margin-bottom: 34px !important;
  font-size: 1.18rem !important;
  line-height: 1.68 !important;
}

.hero-cta-group {
  display: flex !important;
  align-items: center !important;
  gap: 16px !important;
}

.hero-cta-group::before,
.hero-cta-group::after {
  display: none !important;
}

.btn-primary,
.form-submit,
.btn-nav,
.pillar-page .btn-primary,
.method-board-actions .btn-primary,
#accueil .hero-cta-group .btn-primary,
#contact .form-submit {
  min-height: 58px !important;
  padding: 17px 34px !important;
  border: 1px solid rgba(232, 207, 139, 0.62) !important;
  border-radius: 4px !important;
  background:
    linear-gradient(180deg, rgba(248, 246, 239, 0.22), transparent 42%),
    linear-gradient(135deg, var(--omx-gold-soft) 0%, var(--omx-gold) 52%, var(--omx-gold-deep) 100%) !important;
  color: var(--omx-blue-ink) !important;
  box-shadow: 0 18px 42px rgba(0, 0, 0, 0.24) !important;
  font-size: 0.78rem !important;
  font-weight: 900 !important;
  letter-spacing: 0 !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
}

.btn-primary:hover,
.btn-primary:focus-visible,
.form-submit:hover,
.form-submit:focus-visible,
.btn-nav:hover,
.btn-nav:focus-visible,
.pillar-page .btn-primary:hover,
.pillar-page .btn-primary:focus-visible,
#accueil .hero-cta-group .btn-primary:hover,
#accueil .hero-cta-group .btn-primary:focus-visible,
#contact .form-submit:hover,
#contact .form-submit:focus-visible {
  background:
    linear-gradient(180deg, rgba(248, 246, 239, 0.14), transparent 42%),
    linear-gradient(135deg, var(--omx-red) 0%, #D6001C 100%) !important;
  border-color: rgba(248, 246, 239, 0.70) !important;
  color: #FFFFFF !important;
  box-shadow: 0 20px 46px rgba(0, 0, 0, 0.30) !important;
  filter: none !important;
  outline: none !important;
}

:where(
  .situation-card,
  .step-card,
  .service-item,
  .contact-form,
  .legal-copy,
  .about-text-stack p,
  .about-pillar-grid article,
  .about-signature a,
  .pillar-focus-board,
  .pillar-focus-item,
  .method-board-panel,
  .method-board-step,
  .method-board-proof,
  .method-board-outcomes div,
  .contact-checks li,
  .contact-info-item,
  .footer-contact,
  .pillar-method-links a
) {
  background:
    linear-gradient(145deg, rgba(248, 246, 239, 0.070), rgba(248, 246, 239, 0.022) 52%, rgba(207, 163, 75, 0.024)),
    var(--omx-panel) !important;
  border: 1px solid rgba(207, 163, 75, 0.24) !important;
  border-radius: var(--omx-radius) !important;
  box-shadow: var(--omx-shadow-soft) !important;
  color: var(--omx-text) !important;
}

:where(
  .situation-card,
  .step-card,
  .service-item,
  .contact-form,
  .about-pillar-grid article,
  .about-signature a,
  .pillar-focus-board,
  .method-board-panel,
  .pillar-method-links a
):hover {
  border-color: rgba(207, 163, 75, 0.42) !important;
  box-shadow: var(--omx-shadow) !important;
}

.situation-card::after,
.step-card::after,
.service-item::after,
.contact-form::before,
.pillar-focus-board::before,
.method-board-panel::after {
  border-color: rgba(207, 163, 75, 0.22) !important;
  background:
    linear-gradient(90deg, var(--omx-red), var(--omx-gold) 36%, transparent 78%) top left / 100% 1px no-repeat,
    linear-gradient(120deg, rgba(248, 246, 239, 0.045), transparent 38%) !important;
}

.situation-card p,
.step-card p,
.service-item p,
.pillar-focus-item p,
.method-board-step em,
.method-board-outcomes p,
.footer-contact p,
.footer-links a,
.footer-contact a {
  color: var(--omx-muted) !important;
}

.situation-card::before,
.step-card::before,
.service-check,
.step-number,
.pillar-focus-item span,
.method-board-step span,
.about-pillar-grid article span {
  border-color: rgba(207, 163, 75, 0.34) !important;
  color: var(--omx-gold-soft) !important;
  background: transparent !important;
}

.situation-icon {
  display: none !important;
}

.services-list,
.situations-grid,
.methode-steps,
.contact-layout,
.about-statement-grid,
.about-pillar-grid,
.pillar-focus-grid,
.method-board-grid {
  gap: 32px !important;
}

#pour-qui::before,
#notre-role::before,
#pourquoi::before,
#contact::before {
  background: linear-gradient(90deg, var(--omx-gold), transparent) !important;
  opacity: 0.7 !important;
}

#pourquoi .container {
  transform: none !important;
}

#pourquoi .step-card,
#contact .contact-form {
  background:
    linear-gradient(145deg, rgba(248, 246, 239, 0.080), rgba(248, 246, 239, 0.026) 54%, rgba(214, 0, 28, 0.026)),
    var(--omx-panel-strong) !important;
}

#pourquoi .step-card:nth-child(2) h3 {
  white-space: normal !important;
  font-size: 1.18rem !important;
}

#contact h2 {
  white-space: normal !important;
}

#contact .form-group input,
#contact .form-group textarea {
  border: 1px solid rgba(217, 209, 191, 0.28) !important;
  border-radius: 4px !important;
  background: rgba(248, 246, 239, 0.070) !important;
  color: var(--omx-ivory) !important;
}

#contact .form-group input::placeholder,
#contact .form-group textarea::placeholder {
  color: rgba(217, 209, 191, 0.62) !important;
}

#contact .form-group input:focus,
#contact .form-group textarea:focus {
  border-color: rgba(232, 207, 139, 0.72) !important;
  box-shadow: 0 0 0 3px rgba(207, 163, 75, 0.16) !important;
}

.pillar-page .pillar-hero,
.about-page .about-hero {
  min-height: auto !important;
  padding-top: 150px !important;
  padding-bottom: 96px !important;
  border-bottom: 1px solid rgba(207, 163, 75, 0.20) !important;
  background:
    radial-gradient(ellipse at 78% 26%, rgba(207, 163, 75, 0.10), transparent 44%),
    linear-gradient(135deg, var(--omx-blue-soft) 0%, var(--omx-blue) 48%, var(--omx-blue-deep) 100%) !important;
}

.pillar-page .pillar-hero-grid,
.about-hero-grid {
  gap: 64px !important;
  align-items: center !important;
}

.pillar-hero-copy h1,
.about-page .about-hero h1 {
  max-width: 12ch !important;
}

.pillar-hero-copy .about-highlight,
.about-highlight,
.method-hero-subtitle,
.audit-hero-subtitle {
  color: var(--omx-gold-soft) !important;
  background: rgba(248, 246, 239, 0.040) !important;
  border-left: 1px solid var(--omx-gold) !important;
  border-radius: 0 !important;
}

.pillar-hero-photo,
.about-photo-frame {
  border: 1px solid rgba(207, 163, 75, 0.34) !important;
  border-radius: var(--omx-radius) !important;
  box-shadow: 0 28px 74px rgba(0, 0, 0, 0.30) !important;
  overflow: hidden !important;
}

.pillar-hero-photo::before,
.about-photo-frame::before {
  background: linear-gradient(90deg, rgba(3, 10, 20, 0.28), transparent 54%) !important;
}

.pillar-method-links {
  gap: 12px !important;
}

.pillar-method-links a {
  min-height: 72px !important;
  color: var(--omx-muted) !important;
}

.pillar-method-links a.is-active,
.pillar-method-links a:hover,
.pillar-method-links a:focus-visible,
.method-board-step:hover {
  border-color: rgba(214, 0, 28, 0.54) !important;
  background:
    linear-gradient(145deg, rgba(214, 0, 28, 0.10), rgba(248, 246, 239, 0.030)),
    var(--omx-panel) !important;
  color: var(--omx-ivory) !important;
}

.pillar-focus-section,
.pillar-common-section--method-board,
.about-statement,
.about-pillars,
.about-final {
  background: transparent !important;
}

.method-board-panel,
.pillar-focus-board {
  padding: 42px !important;
}

.legal-page {
  padding-top: 88px !important;
}

body[data-page-segment="legal-pages"] .legal-copy,
.legal-page .legal-copy {
  background:
    linear-gradient(145deg, rgba(248, 246, 239, 0.075), rgba(248, 246, 239, 0.020)),
    var(--omx-panel) !important;
  border-color: rgba(207, 163, 75, 0.22) !important;
  box-shadow: var(--omx-shadow-soft) !important;
}

footer,
#site-footer,
.site-footer {
  padding-top: 108px !important;
  background:
    linear-gradient(180deg, rgba(6, 18, 37, 0.82), var(--omx-blue-ink)),
    var(--omx-blue-deep) !important;
  border-top: 1px solid rgba(207, 163, 75, 0.28) !important;
}

footer .footer-inner,
footer#site-footer .footer-inner {
  gap: 56px !important;
}

footer .omx-logo--footer,
footer .omx-logo {
  width: min(390px, 100%) !important;
}

.footer-brand-copy {
  margin-top: 28px !important;
}

.footer-links h4,
.footer-contact h4 {
  color: var(--omx-gold-soft) !important;
}

.footer-bottom {
  color: var(--omx-soft) !important;
  border-top-color: rgba(207, 163, 75, 0.22) !important;
}

@media (max-width: 1100px) {
  .container,
  .nav-inner,
  .pillar-page .pillar-hero .container,
  body[data-page-segment="about-pages"] .about-page .about-hero .container {
    width: min(100vw - 48px, 960px) !important;
  }

  h1,
  .hero-title,
  .pillar-hero-copy h1,
  .about-page .about-hero h1,
  .legal-page h1 {
    font-size: 3.35rem !important;
  }

  h2,
  .pillar-section-heading h2,
  .method-board-intro h2 {
    font-size: 2.55rem !important;
  }

  #accueil > .container,
  .pillar-page .pillar-hero-grid,
  .about-hero-grid {
    grid-template-columns: 1fr !important;
    gap: 42px !important;
  }

  #accueil img.hero-brand-logo,
  #accueil .hero-brand-logo,
  #accueil .hero-tag,
  #accueil .hero-title,
  #accueil .hero-subtitle,
  #accueil .hero-cta-group {
    grid-column: 1 !important;
  }

  #accueil img.hero-brand-logo,
  #accueil .hero-brand-logo {
    grid-row: auto !important;
    width: min(330px, 82vw) !important;
  }

  .contact-layout,
  .methode-steps,
  .pillar-focus-grid,
  .method-board-grid,
  .footer-inner,
  footer#site-footer .footer-inner {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 760px) {
  body {
    background-image:
      linear-gradient(180deg, rgba(3, 10, 20, 0.08) 0%, rgba(3, 10, 20, 0.66) 100%),
      linear-gradient(150deg, var(--omx-blue-soft) 0%, var(--omx-blue) 48%, var(--omx-blue-deep) 100%) !important;
  }

  section {
    padding-top: 84px !important;
    padding-bottom: 84px !important;
  }

  .container,
  .nav-inner,
  .pillar-page .pillar-hero .container,
  body[data-page-segment="about-pages"] .about-page .about-hero .container,
  .legal-page .legal-copy {
    width: min(100vw - 32px, 560px) !important;
  }

  .nav {
    height: 74px !important;
  }

  .nav .omx-logo,
  .nav .omx-logo--nav,
  header .omx-logo--nav,
  .nav-logo {
    width: 136px !important;
  }

  .menu-toggle {
    width: 44px !important;
    height: 44px !important;
    border: 1px solid rgba(214, 0, 28, 0.58) !important;
    border-radius: 4px !important;
    background: rgba(214, 0, 28, 0.08) !important;
    box-shadow: none !important;
  }

  .menu-toggle span {
    background: var(--omx-red) !important;
  }

  body.menu-open nav,
  body.menu-open .nav .nav-links {
    background: var(--omx-blue-ink) !important;
  }

  body.menu-open .nav .nav-links > li:not(.lang-switch) a,
  .nav-links a:not(.lang-link) {
    color: var(--omx-ivory) !important;
  }

  #accueil {
    min-height: auto !important;
    padding: 110px 0 78px !important;
  }

  #accueil::before,
  #accueil::after {
    display: none !important;
  }

  #accueil > .container {
    display: grid !important;
    gap: 26px !important;
  }

  #accueil img.hero-brand-logo,
  #accueil .hero-brand-logo {
    width: min(282px, 78vw) !important;
    justify-self: center !important;
    margin-bottom: 8px !important;
  }

  #accueil .hero-tag {
    margin-bottom: 6px !important;
  }

  h1,
  .hero-title,
  .pillar-hero-copy h1,
  .about-page .about-hero h1,
  .legal-page h1 {
    font-size: 2.45rem !important;
    line-height: 1.10 !important;
  }

  h2,
  .pillar-section-heading h2,
  .method-board-intro h2 {
    font-size: 2rem !important;
    line-height: 1.16 !important;
  }

  .hero-title {
    max-width: 14ch !important;
    margin-bottom: 18px !important;
  }

  .hero-subtitle {
    font-size: 1rem !important;
    line-height: 1.62 !important;
    margin-bottom: 22px !important;
  }

  .hero-cta-group,
  .btn-primary,
  .form-submit,
  .pillar-page .btn-primary,
  .method-board-actions .btn-primary {
    width: 100% !important;
  }

  .btn-primary,
  .form-submit,
  .pillar-page .btn-primary,
  .method-board-actions .btn-primary {
    min-height: 56px !important;
    padding-inline: 18px !important;
    text-align: center !important;
  }

  .situations-grid,
  .services-list,
  .methode-steps,
  .contact-layout,
  .pillar-method-links,
  .method-board-steps,
  .method-board-proof,
  .method-board-outcomes {
    grid-template-columns: 1fr !important;
    gap: 18px !important;
  }

  .situation-card,
  .step-card,
  .service-item,
  .contact-form,
  .pillar-focus-board,
  .method-board-panel {
    padding: 26px !important;
    min-height: 0 !important;
  }

  .service-item {
    grid-template-columns: 1fr !important;
  }

  .pillar-page .pillar-hero,
  .about-page .about-hero {
    padding-top: 112px !important;
    padding-bottom: 72px !important;
  }

  .pillar-hero-photo,
  .about-photo-frame {
    min-height: 0 !important;
    aspect-ratio: 4 / 3 !important;
  }

  .pillar-method-links a {
    min-height: 64px !important;
  }

  footer,
  #site-footer,
  .site-footer {
    padding-top: 82px !important;
  }

  footer .omx-logo--footer,
  footer .omx-logo {
    width: min(300px, 86vw) !important;
  }
}

@media (max-width: 760px) {
  #accueil {
    padding-top: 92px !important;
    padding-bottom: 64px !important;
  }

  #accueil > .container {
    gap: 15px !important;
  }

  #accueil img.hero-brand-logo,
  #accueil .hero-brand-logo {
    width: min(236px, 72vw) !important;
    margin-bottom: 6px !important;
  }

  #accueil .hero-tag {
    font-size: 0.68rem !important;
    line-height: 1.32 !important;
    margin-bottom: 2px !important;
  }

  #accueil .hero-title {
    max-width: 12.5ch !important;
    margin-bottom: 12px !important;
    font-size: 2.15rem !important;
    line-height: 1.09 !important;
    letter-spacing: 0 !important;
    color: var(--omx-ivory) !important;
    -webkit-text-fill-color: var(--omx-ivory) !important;
    overflow: visible !important;
    text-shadow: none !important;
    z-index: 3 !important;
  }

  #accueil .hero-subtitle {
    max-width: 32ch !important;
    margin-bottom: 16px !important;
    font-size: 0.98rem !important;
    line-height: 1.56 !important;
    overflow: visible !important;
    z-index: 3 !important;
  }

  #accueil .hero-cta-group .btn-primary {
    min-height: 54px !important;
    padding: 15px 18px !important;
    font-size: 0.72rem !important;
    z-index: 3 !important;
  }
}

/* Omexis final palette guard - neutralise legacy inline accents without changing content */
:root {
  --omx-red: #D6001C !important;
  --omx-swiss-red: #D6001C !important;
  --omx-blue: #0A192D !important;
  --omx-blue-deep: #061225 !important;
  --omx-blue-ink: #030A14 !important;
  --omx-gold: #CFA34B !important;
  --omx-gold-soft: #E8CF8B !important;
  --omx-ivory: #F8F6EF !important;
  --omx-warm: #D9D1BF !important;
}

html,
body {
  background-color: var(--omx-blue-ink) !important;
}

body {
  background-image:
    linear-gradient(180deg, rgba(3, 10, 20, 0.18) 0%, rgba(6, 18, 37, 0.62) 56%, rgba(3, 10, 20, 0.96) 100%),
    linear-gradient(135deg, var(--omx-blue) 0%, var(--omx-blue-deep) 56%, var(--omx-blue-ink) 100%) !important;
}

main.legal-page.about-page,
main.legal-page.about-page.pillar-page,
main.pillar-page {
  background-image:
    radial-gradient(at 18% 10%, rgba(207, 163, 75, 0.10) 0%, rgba(207, 163, 75, 0.035) 34%, rgba(0, 0, 0, 0) 58%),
    linear-gradient(180deg, var(--omx-blue-deep) 0%, var(--omx-blue) 48%, var(--omx-blue-deep) 100%) !important;
}

.pillar-hero,
.audit-hero,
.method-hero {
  background-color: var(--omx-blue-deep) !important;
  background-image:
    radial-gradient(circle at 50% 120%, rgba(10, 25, 45, 0.84), rgba(0, 0, 0, 0) 36%),
    radial-gradient(circle at 78% 20%, rgba(214, 0, 28, 0.052), rgba(0, 0, 0, 0) 25%),
    radial-gradient(circle at 18% 4%, rgba(207, 163, 75, 0.09), rgba(0, 0, 0, 0) 32%) !important;
}

body[data-page-segment] .legal-page .pillar-hero,
body[data-page-segment] .legal-page .audit-hero,
body[data-page-segment] .legal-page .method-hero,
body[data-page-segment] .legal-page section.pillar-hero.audit-hero,
body[data-page-segment] .legal-page section.pillar-hero.method-hero {
  background:
    radial-gradient(circle at 50% 120%, rgba(10, 25, 45, 0.84), rgba(0, 0, 0, 0) 36%),
    radial-gradient(circle at 78% 20%, rgba(214, 0, 28, 0.052), rgba(0, 0, 0, 0) 25%),
    radial-gradient(circle at 18% 4%, rgba(207, 163, 75, 0.09), rgba(0, 0, 0, 0) 32%),
    var(--omx-blue-deep) !important;
}

.audit-hero-subtitle,
.method-hero-subtitle,
.pillar-hero-copy .about-highlight {
  color: var(--omx-gold-soft) !important;
  -webkit-text-fill-color: var(--omx-gold-soft) !important;
}

.method-board-topline span {
  color: var(--omx-gold-soft) !important;
  background-color: rgba(214, 0, 28, 0.07) !important;
  border-color: rgba(214, 0, 28, 0.36) !important;
}

.pillar-method-signature span:not(:last-child)::after,
.eyebrow::before,
.section-tag::before {
  background-color: var(--omx-red) !important;
  color: var(--omx-red) !important;
}

.method-hero-timeline a.is-active::before {
  border-color: var(--omx-red) !important;
  color: var(--omx-gold-soft) !important;
}

.method-hero-timeline a.is-active::after {
  background-color: var(--omx-red) !important;
  box-shadow: 0 0 0 5px rgba(214, 0, 28, 0.18) !important;
}

footer a,
#site-footer a,
.footer-links a,
.footer-nav a {
  color: rgba(232, 207, 139, 0.92) !important;
  border-color: rgba(207, 163, 75, 0.32) !important;
  text-decoration-color: rgba(207, 163, 75, 0.62) !important;
}

footer a:hover,
#site-footer a:hover,
.footer-links a:hover,
.footer-nav a:hover {
  color: var(--omx-ivory) !important;
  border-color: rgba(214, 0, 28, 0.58) !important;
  text-decoration-color: rgba(214, 0, 28, 0.58) !important;
}

body footer#site-footer .footer-links a,
body footer#site-footer .footer-contact a,
body footer#site-footer .footer-links a[href*="qui-sommes-nous"],
body footer#site-footer .footer-links a[href*="who-we-are"],
body footer#site-footer .footer-links a[href*="wer-wir-sind"],
body footer#site-footer .footer-links a[href*="chi-siamo"],
body footer .footer-links a,
body footer .footer-contact a {
  color: rgba(232, 207, 139, 0.92) !important;
  border-color: rgba(207, 163, 75, 0.32) !important;
  text-decoration-color: rgba(207, 163, 75, 0.62) !important;
}

body footer#site-footer .footer-links a:hover,
body footer#site-footer .footer-contact a:hover,
body footer .footer-links a:hover,
body footer .footer-contact a:hover {
  color: var(--omx-ivory) !important;
  border-color: rgba(214, 0, 28, 0.58) !important;
  text-decoration-color: rgba(214, 0, 28, 0.58) !important;
}

body .nav .menu-toggle,
body[data-page-segment] .nav .menu-toggle,
body[data-page-locale] .nav .menu-toggle {
  color: var(--omx-red) !important;
  border-color: rgba(214, 0, 28, 0.58) !important;
  background: rgba(214, 0, 28, 0.08) !important;
}

body .nav .menu-toggle span,
body[data-page-segment] .nav .menu-toggle span,
body[data-page-locale] .nav .menu-toggle span {
  color: var(--omx-red) !important;
  background: var(--omx-red) !important;
  border-color: var(--omx-red) !important;
}

/* V3 frame cleanup: remove decorative boxes from content blocks. */
body[data-page-segment] .about-text-stack p,
body[data-page-segment] .about-pillar-grid article,
body[data-page-segment] .about-signature a,
body[data-page-segment] .situation-card,
body[data-page-segment] .step-card,
body[data-page-segment] .service-item,
body[data-page-segment] .pillar-focus-board,
body[data-page-segment] .pillar-focus-item,
body[data-page-segment] .method-board-panel,
body[data-page-segment] .method-board-step,
body[data-page-segment] .method-board-proof,
body[data-page-segment] .method-board-outcomes div,
body[data-page-segment] .pillar-method-links a,
body[data-page-segment] .pillar-benefit-list li,
body[data-page-segment] .pillar-hero-panel,
body[data-page-segment] .pillar-objective-card,
body[data-page-segment] .about-photo-frame,
body[data-page-segment] .pillar-hero-photo,
body[data-page-segment] .audit-hero-photo,
body[data-page-segment] .method-hero-photo,
body[data-page-segment="about-pages"] .about-final .legal-copy,
body[data-page-segment] .card,
body[data-page-segment] .proof-card,
body[data-page-segment] .offer-card {
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body[data-page-segment] .about-highlight,
body[data-page-segment="about-pages"] .about-page .about-highlight,
body[data-page-segment] .pillar-hero-copy .about-highlight,
body[data-page-segment] .method-hero-subtitle,
body[data-page-segment] .audit-hero-subtitle {
  padding: 0 !important;
  border-left: 0 !important;
  background: transparent !important;
}

body[data-page-segment="about-pages"] .about-hero-copy .about-text-stack,
body[data-page-segment="about-pages"] .about-statement .about-text-stack {
  display: grid !important;
  gap: 18px !important;
  border-top: 0 !important;
}

body[data-page-segment="about-pages"] .about-text-stack p,
body[data-page-segment="about-pages"] .about-hero-copy .about-text-stack p {
  max-width: 62ch !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body[data-page-segment] .about-text-stack p::before,
body[data-page-segment="about-pages"] .about-hero-copy .about-text-stack p::before,
body[data-page-segment="about-pages"] .about-statement .about-text-stack p::before,
body[data-page-segment] .about-pillar-grid article span,
body[data-page-segment] .about-signature a::before,
body[data-page-segment] .pillar-benefit-list li::before,
body[data-page-segment] .pillar-benefit-list li::after,
body[data-page-segment] .pillar-objective-card::before,
body[data-page-segment] .pillar-objective-card::after {
  content: none !important;
  display: none !important;
}

body[data-page-segment="about-pages"] .about-pillar-grid {
  gap: clamp(34px, 5vw, 72px) !important;
}

body[data-page-segment="about-pages"] .about-pillar-grid article {
  min-height: 0 !important;
  padding: 0 !important;
}

body[data-page-segment="about-pages"] .about-signature {
  gap: clamp(18px, 2.2vw, 34px) !important;
}

body[data-page-segment="about-pages"] .about-signature a {
  min-height: 0 !important;
  align-items: flex-start !important;
  padding: 0 !important;
}

body[data-page-segment] .pillar-benefit-list li {
  min-height: 0 !important;
  align-items: flex-start !important;
  padding: 0 !important;
}

body[data-page-segment] #pourquoi .step-card,
body[data-page-segment] #pourquoi .step-card:hover {
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body[data-page-segment] #pourquoi .step-card::before,
body[data-page-segment] #pourquoi .step-card::after {
  content: none !important;
  display: none !important;
}

body[data-page-segment="about-pages"] .about-photo-frame.about-photo-frame--team,
body[data-page-segment="about-pages"] .legal-page .pillar-hero-photo,
body[data-page-segment="about-pages"] .legal-page .method-hero-photo,
body[data-page-segment="about-pages"] .legal-page .audit-hero-photo,
body[data-page-segment] .pillar-hero-photo,
body[data-page-segment] .audit-hero-photo,
body[data-page-segment] .method-hero-photo {
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
