/* Base tokens */
:root {
  --ivoire:#F6F1E8;
  --sable:#D9C7AE;
  --pierre:rgba(217, 199, 174, .42);
  --gris-chaud:#8C847A;
  --gris-fort:#5D5750;
  --bleu-nuit:#1F2A2E;
  --noir:#2B2724;
  --dore:#B8905D;
  --dore-pale:#EADCC6;
  --font-serif:'Cormorant Garamond', Georgia, serif;
  --font-sans:'Jost', system-ui, sans-serif;
  --font-arabic-serif:'Noto Naskh Arabic', serif;
  --font-arabic-sans:'IBM Plex Sans Arabic', sans-serif;
  --header-h:72px;
  --section-y:clamp(76px, 7vw, 118px);
  --section-y-tight:clamp(52px, 5vw, 78px);
  --content-max:1120px;
  --ease-soft:cubic-bezier(.22, .61, .36, 1)
}

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

html {
  scroll-behavior:smooth;
  scroll-padding-top:96px
}

body {
  font-family:var(--font-sans);
  font-weight:300;
  background:var(--ivoire);
  color:var(--noir);
  line-height:1.82;
  letter-spacing:.005em;
  overflow-x:hidden
}

body.menu-open {
  overflow:hidden
}

img {
  display:block;
  max-width:100%;
  height:auto
}

a {
  color:inherit
}

.sr-only {
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0, 0, 0, 0);
  white-space:nowrap;
  border:0
}

.skip-link {
  position:fixed;
  top:12px;
  left:12px;
  z-index:10000;
  padding:10px 14px;
  background:var(--bleu-nuit);
  color:var(--ivoire);
  text-decoration:none;
  transform:translateY(-140%);
  transition:transform 180ms var(--ease-soft)
}

.skip-link:focus-visible {
  transform:translateY(0);
  outline:2px solid var(--dore);
  outline-offset:3px
}

section, footer, [id] {
  scroll-margin-top:96px
}

.container {
  max-width:var(--content-max);
  margin:0 auto
}

section {
  padding:var(--section-y) 48px
}

.reveal {
  opacity:0;
  transform:translateY(18px);
  transition:opacity 700ms ease, transform 700ms ease
}

.reveal.visible {
  opacity:1;
  transform:translateY(0)
}

.reveal-delay-1 {
  transition-delay:80ms
}

.reveal-delay-2 {
  transition-delay:160ms
}

.reveal-delay-3 {
  transition-delay:240ms
}

.eyebrow, .hero-tagline, .hero-eyebrow, .citation-attribution, .footer-col-title {
  font-family:var(--font-sans);
  font-size:10px;
  font-weight:500;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:#9b7448;
  margin-bottom:20px
}

h1, h2, .section-title {
  font-family:var(--font-serif);
  font-weight:300;
  letter-spacing:-.01em;
  text-wrap:balance
}

h2.section-title, .methode h2 {
  font-size:clamp(34px, 3.4vw, 52px);
  line-height:1.13;
  color:var(--noir);
  margin-bottom:30px
}

.section-chapeau {
  font-size:16px;
  color:#554d46;
  line-height:1.8;
  max-width:680px;
  margin-bottom:44px
}

.nawa-loader {
  position:fixed;
  inset:0;
  z-index:9999;
  display:grid;
  place-items:center;
  background:#14212B;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity 320ms ease, visibility 320ms ease
}

.nawa-loader.is-visible {
  opacity:1;
  visibility:visible;
  pointer-events:auto
}

.nawa-loader__inner {
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:22px;
  transform:translateY(-2vh)
}

.nawa-loader__mark {
  width:clamp(76px, 9vw, 118px);
  height:auto;
  display:block;
  animation:nawaBreath 1.25s ease-in-out infinite
}

.nawa-loader__text {
  margin:0;
  color:#F2EBDD;
  font-family:var(--font-sans);
  font-size:clamp(.78rem, 1vw, .95rem);
  font-weight:300;
  line-height:1.4;
  letter-spacing:.12em;
  text-align:center;
  opacity:0;
  transition:opacity 500ms ease
}

.nawa-loader.is-long .nawa-loader__text {
  opacity:.78
}

@keyframes nawaBreath {
  0%, 100% {
    opacity:.55;
    transform:scale(.985)
  }

  50% {
    opacity:1;
    transform:scale(1)
  }
}

/* Header and navigation */
.site-header {
  position:fixed;
  top:0;
  left:0;
  right:0;
  z-index:100;
  display:flex;
  align-items:center;
  justify-content:space-between;
  height:var(--header-h);
  padding:0 clamp(24px, 4vw, 64px);
  border-bottom:1px solid transparent;
  transition:height 220ms var(--ease-soft), background 220ms var(--ease-soft), border-color 220ms var(--ease-soft), backdrop-filter 220ms var(--ease-soft)
}

@media(min-width:901px) {
body[data-page=home] .site-header:not(.scrolled) {
  isolation:isolate
}

body[data-page=home] .site-header:not(.scrolled)::before {
  content:"";
  position:absolute;
  z-index:-1;
  top:0;
  right:0;
  left:0;
  height:clamp(112px, 10vw, 144px);
  background:linear-gradient(to bottom, rgba(31, 42, 46, .68) 0, rgba(31, 42, 46, .64) 52%, rgba(31, 42, 46, 0) 100%);
  pointer-events:none
}

body[data-page=home] .site-header:not(.scrolled) .primary-nav a:last-child {
  color:#faf8f4
}

body[data-page=home] .site-header:not(.scrolled) .btn-header {
  border-color:rgba(246, 241, 232, .72)
}

body[data-page=home] .site-header:not(.scrolled) .language-menu-trigger {
  border-color:rgba(246, 241, 232, .72)
}
}

.site-header.scrolled {
  height:66px;
  background:rgba(246, 241, 232, .92);
  border-bottom-color:rgba(184, 144, 93, .22);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px)
}

.logo {
  display:flex;
  align-items:center;
  min-width:142px
}

.brand-logo {
  width:138px;
  max-height:34px;
  object-fit:contain;
  transition:width 220ms var(--ease-soft), opacity 220ms ease
}

.brand-logo-dark {
  display:none
}

.site-header.scrolled .brand-logo-light {
  display:none
}

.site-header.scrolled .brand-logo-dark {
  display:block
}

.site-header.scrolled .brand-logo {
  width:120px;
  max-height:30px
}

.primary-nav {
  display:flex;
  align-items:center;
  gap:clamp(18px, 2.4vw, 36px)
}

.primary-nav__mobile-cta {
  display:none
}

.primary-nav a {
  position:relative;
  padding:8px 0;
  font-size:11px;
  font-weight:500;
  letter-spacing:.135em;
  text-transform:uppercase;
  text-decoration:none;
  color:rgba(250, 248, 244, .86);
  transition:color 180ms ease
}

.site-header.scrolled .primary-nav a {
  color:var(--gris-fort)
}

.primary-nav a::after {
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:3px;
  height:1px;
  background:currentColor;
  transform:scaleX(0);
  opacity:.55;
  transition:transform 200ms var(--ease-soft)
}

.primary-nav a:hover::after, .primary-nav a.active::after {
  transform:scaleX(1)
}

.header-right {
  display:flex;
  align-items:center;
  gap:18px
}

.btn-header, .btn-primary, .btn-ghost, .cta-link, .horizon-cta, .contact-action {
  min-height:44px
}

.btn-header, .btn-primary, .btn-ghost {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  text-decoration:none;
  text-transform:uppercase;
  letter-spacing:.11em;
  font-size:11px;
  font-weight:500;
  border:1px solid var(--dore);
  border-radius:0;
  padding:14px 30px;
  transition:transform 200ms var(--ease-soft), box-shadow 200ms var(--ease-soft), background 200ms var(--ease-soft), color 200ms var(--ease-soft), border-color 200ms var(--ease-soft)
}

.btn-header {
  padding:9px 20px;
  background:var(--bleu-nuit);
  border-color:var(--bleu-nuit);
  color:var(--ivoire)
}

.btn-primary {
  background:var(--dore);
  color:var(--ivoire)
}

.btn-ghost {
  background:transparent;
  color:var(--ivoire);
  border-color:rgba(246, 241, 232, .55)
}

.btn-primary::after, .btn-ghost::after, .contact-action::after {
  content:"  →";
  display:inline-block;
  transition:transform 200ms var(--ease-soft)
}

.btn-primary:hover, .btn-header:hover {
  background:#8f6b43;
  border-color:#8f6b43;
  color:var(--ivoire);
  transform:translateY(-2px);
  box-shadow:0 16px 36px rgba(31, 42, 46, .26)
}

.btn-ghost:hover {
  background:rgba(246, 241, 232, .2);
  border-color:#fffdf7;
  transform:translateY(-2px);
  box-shadow:0 16px 36px rgba(31, 42, 46, .22)
}

.btn-primary:hover::after, .btn-ghost:hover::after, .contact-action:hover::after {
  transform:translateX(4px)
}

.language-menu {
  position:relative;
  z-index:120
}

.language-menu-trigger {
  display:inline-flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  min-width:66px;
  height:38px;
  padding:0 12px;
  border:1px solid rgba(246, 241, 232, .28);
  border-radius:2px;
  background:rgba(31, 42, 46, .12);
  color:rgba(255, 253, 247, .94);
  font-family:var(--font-sans);
  font-size:11px;
  font-weight:500;
  letter-spacing:.1em;
  cursor:pointer;
  transition:background 180ms ease, border-color 180ms ease, color 180ms ease
}

.language-menu-trigger:hover,
.language-menu-trigger:focus-visible {
  background:rgba(246, 241, 232, .12);
  border-color:rgba(246, 241, 232, .44);
  outline:0
}

.language-menu-chevron {
  width:10px;
  height:7px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.25;
  transition:transform 180ms ease
}

.language-menu.is-open .language-menu-chevron {
  transform:rotate(180deg)
}

.language-menu-panel {
  position:absolute;
  top:calc(100% + 8px);
  right:0;
  min-width:176px;
  padding:6px;
  border:1px solid rgba(246, 241, 232, .18);
  border-radius:6px;
  background:rgba(31, 42, 46, .96);
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
  box-shadow:0 12px 30px rgba(31, 42, 46, .14);
  opacity:0;
  visibility:hidden;
  transform:translateY(-6px);
  pointer-events:none;
  transition:opacity 180ms ease, transform 180ms ease, visibility 180ms ease
}

.language-menu.is-open .language-menu-panel {
  opacity:1;
  visibility:visible;
  transform:translateY(0);
  pointer-events:auto
}

.language-menu-option {
  width:100%;
  display:grid;
  grid-template-columns:34px 1fr;
  align-items:center;
  gap:10px;
  padding:10px 11px;
  border:0;
  border-radius:4px;
  background:transparent;
  color:rgba(255, 253, 247, .72);
  font:inherit;
  text-align:left;
  cursor:pointer;
  transition:color 160ms ease, background 160ms ease
}

.language-menu-option:hover,
.language-menu-option:focus-visible {
  color:#fffdf7;
  background:rgba(246, 241, 232, .08);
  outline:0
}

.language-menu-option.active {
  color:var(--dore)
}

.language-code {
  font-size:10px;
  font-weight:500;
  letter-spacing:.1em
}

.language-name {
  font-size:12px;
  font-weight:300;
  letter-spacing:.01em
}

.site-header.scrolled .language-menu-trigger,
.inner-page .language-menu-trigger {
  background:rgba(217, 199, 174, .18);
  color:var(--gris-fort);
  border-color:rgba(184, 144, 93, .28)
}

.site-header.scrolled .language-menu-trigger:hover,
.site-header.scrolled .language-menu-trigger:focus-visible,
.inner-page .language-menu-trigger:hover,
.inner-page .language-menu-trigger:focus-visible {
  background:rgba(217, 199, 174, .28);
  border-color:rgba(184, 144, 93, .4)
}

.site-header.scrolled .language-menu-panel,
.inner-page .language-menu-panel {
  background:rgba(246, 241, 232, .98);
  border-color:rgba(184, 144, 93, .24);
  box-shadow:0 12px 30px rgba(31, 42, 46, .12)
}

.site-header.scrolled .language-menu-option,
.inner-page .language-menu-option {
  color:rgba(31, 42, 46, .72)
}

.site-header.scrolled .language-menu-option:hover,
.site-header.scrolled .language-menu-option:focus-visible,
.inner-page .language-menu-option:hover,
.inner-page .language-menu-option:focus-visible {
  color:var(--noir);
  background:rgba(217, 199, 174, .24)
}

.site-header.scrolled .language-menu-option.active,
.inner-page .language-menu-option.active {
  color:var(--dore)
}

[dir=rtl] .language-menu-panel {
  right:auto;
  left:0
}

[dir=rtl] .language-menu-option {
  text-align:right
}

[dir=rtl] .language-name,
[dir=rtl] .language-menu-option[data-lang=ar] .language-name {
  letter-spacing:0;
  font-family:var(--font-arabic-sans)
}

.menu-toggle {
  display:none;
  border:1px solid rgba(246, 241, 232, .28);
  background:transparent;
  color:rgba(246, 241, 232, .84);
  height:36px;
  padding:0 13px;
  border-radius:2px;
  font-family:var(--font-sans);
  font-size:10px;
  font-weight:500;
  letter-spacing:.13em;
  text-transform:uppercase;
  cursor:pointer
}

.site-header.scrolled .menu-toggle {
  color:var(--noir);
  border-color:rgba(184, 144, 93, .28)
}

/* Hero */
.hero {
  position:relative;
  height:100vh;
  min-height:660px;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  padding:0 48px;
  overflow:hidden
}

.hero-bg {
  position:absolute;
  inset:0;
  background:url('../images/hero-daymaniyat.webp') center/cover no-repeat;
  filter:sepia(.04) saturate(1.08) contrast(1.08) brightness(1.08) hue-rotate(-2deg)
}

.hero-bg::before {
  content:"";
  position:absolute;
  inset:20% 19% 18%;
  background:radial-gradient(ellipse at center, rgba(31, 42, 46, .48), rgba(31, 42, 46, .25) 45%, rgba(31, 42, 46, 0) 72%);
  pointer-events:none
}

.hero-bg::after {
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(to bottom, rgba(31, 42, 46, .08), rgba(31, 42, 46, .08) 55%, rgba(31, 42, 46, .28));
  pointer-events:none
}

.hero-content {
  position:relative;
  z-index:2;
  max-width:920px;
  animation:fadeUp 900ms ease .25s both
}

@keyframes fadeUp {
  from {
  opacity:0;
  transform:translateY(18px)
}

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

}

.hero h1 {
  font-size:clamp(56px, 7.6vw, 102px);
  line-height:.98;
  color:#fffdf7;
  margin-bottom:26px;
  text-shadow:0 12px 34px rgba(0, 0, 0, .38)
}

.hero-sub {
  font-size:clamp(18px, 1.8vw, 23px);
  line-height:1.48;
  max-width:760px;
  margin:0 auto 44px;
  color:rgba(255, 253, 247, .98);
  text-shadow:0 8px 28px rgba(0, 0, 0, .34)
}

.hero-sub span {
  display:inline-block;
  margin-top:12px;
  font-size:clamp(15px, 1.35vw, 18px);
  color:rgba(255, 253, 247, .9)
}

.hero-eyebrow, .hero-tagline {
  color:rgba(255, 253, 247, .88);
  text-shadow:0 5px 18px rgba(0, 0, 0, .3)
}

.hero-tagline {
  margin-bottom:32px
}

.hero-ctas {
  display:flex;
  gap:14px;
  justify-content:center;
  flex-wrap:wrap
}

.hero-explore {
  position:absolute;
  bottom:44px;
  left:50%;
  transform:translateX(-50%);
  z-index:2;
  font-size:9px;
  font-weight:400;
  letter-spacing:.32em;
  text-transform:uppercase;
  color:rgba(255, 253, 247, .68)
}

.bubble-whatsapp {
  position:fixed;
  bottom:32px;
  right:32px;
  z-index:99;
  display:flex;
  align-items:center;
  gap:10px;
  background:var(--ivoire);
  border:1px solid var(--pierre);
  border-radius:999px;
  padding:10px 18px 10px 14px;
  font-size:13px;
  font-weight:400;
  color:var(--gris-fort);
  text-decoration:none;
  box-shadow:0 4px 20px rgba(26, 25, 22, .1);
  transition:opacity 220ms var(--ease-soft), transform 220ms var(--ease-soft), visibility 220ms var(--ease-soft), box-shadow 200ms var(--ease-soft)
}

.bubble-whatsapp:hover {
  box-shadow:0 6px 28px rgba(26, 25, 22, .16)
}

.bubble-whatsapp svg {
  width:16px;
  height:16px;
  stroke:var(--dore);
  flex-shrink:0
}


.bubble-whatsapp.is-hidden {
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transform:translateY(12px)
}

/* Main editorial sections */
.pont-culturel, .triptyque, .pour-qui, .methode, .horizons, .inspirations, .projection {
  padding:var(--section-y-tight) 48px
}

.manifest-grid {
  display:grid;
  grid-template-columns:minmax(0, 1.25fr) minmax(300px, .85fr);
  gap:clamp(40px, 7vw, 96px);
  align-items:center
}

.pont-culturel h2 {
  font-size:clamp(38px, 4vw, 58px);
  line-height:1.08
}

.manifest-copy {
  display:grid;
  gap:18px
}

.manifest-copy p {
  color:#554d46;
  font-size:16px;
  line-height:1.78
}

.founder-signature {
  font-size:12px;
  letter-spacing:.09em;
  text-transform:uppercase;
  color:#8f6b43;
  margin-top:6px
}

.pont-transition {
  font-family:var(--font-serif);
  font-size:20px;
  font-style:italic;
  color:#6c6258
}

.triptyque-grid, .pour-qui-grid, .methode-grid, .pourquoi-grid, /* Horizons and inspiration cards */
.horizons-grid {
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:28px
}

.triptyque-grid {
  margin-top:16px;
  margin-bottom:34px
}

.triptyque-img {
  width:100%;
  aspect-ratio:4/4.6;
  object-fit:cover;
  border-radius:8px;
  margin-bottom:18px
}

.img-oman {
  filter:sepia(.12) saturate(1.05) contrast(1.04) brightness(1.02) hue-rotate(-7deg)
}

.img-france {
  object-position:50% 50%;
  filter:sepia(.08) saturate(.9) contrast(1.02) brightness(1.06) hue-rotate(-2deg)
}

.img-asie {
  filter:sepia(.04) saturate(1.02) contrast(1.05) brightness(.96) hue-rotate(-5deg)
}

.triptyque-col h3, .card h3, .etape h3, .inspi-card h3, .projection-item h3 {
  font-family:var(--font-serif);
  font-size:clamp(21px, 2vw, 26px);
  font-weight:400;
  line-height:1.25;
  color:var(--noir);
  margin-bottom:8px
}

.triptyque-col h3 {
  text-wrap:balance
}

.triptyque-title-long {
  font-size:clamp(20px, 1.88vw, 24.5px);
  letter-spacing:-.01em;
  text-wrap:balance
}

.triptyque-sous {
  font-size:12px;
  font-weight:500;
  letter-spacing:.06em;
  color:var(--dore);
  margin-bottom:14px
}

.triptyque-col p, .card p, .etape p, .inspi-card p, .projection-item p {
  font-size:14px;
  color:#554d46;
  line-height:1.75
}

.note-interculturelle {
  border-left:2px solid rgba(184, 144, 93, .34);
  background:rgba(217, 199, 174, .22);
  padding:18px 24px;
  margin-bottom:24px
}

.note-interculturelle p {
  font-style:italic;
  color:#554d46
}

.manifeste {
  font-family:var(--font-serif);
  font-size:22px;
  font-style:italic;
  text-align:center;
  line-height:1.45;
  margin-bottom:22px
}

.cta-texte {
  display:flex;
  justify-content:center
}

.cta-link, .stats-cta a {
  font-size:14px;
  font-weight:400;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--dore);
  text-decoration:none;
  transition:color 180ms ease, transform 180ms ease
}

.cta-link::after, .stats-cta a::after, .horizon-cta::after {
  content:'  →'
}

.cta-link:hover, .stats-cta a:hover {
  color:#8f6b43;
  transform:translateX(4px)
}

.stats-cta {
  display:flex;
  justify-content:center;
  width:100%;
  text-align:center
}

.stats-cta a {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  text-align:center
}

.stats-cta-link {
  gap:10px;
  min-height:44px;
  padding:8px 12px
}

.stats-cta-link::after {
  content:none
}

.stats-cta-arrow {
  display:inline-block;
  transition:transform 300ms ease
}

.stats-cta-link:hover {
  transform:none
}

.stats-cta-link:hover .stats-cta-arrow {
  transform:translateX(3px)
}

.stats-cta-link:focus-visible {
  outline:2px solid currentColor;
  outline-offset:4px
}

.pour-qui {
  background:var(--sable)
}

.pour-qui-header {
  max-width:760px;
  margin-bottom:32px
}

.pour-qui-grid {
  align-items:stretch;
  margin-bottom:22px
}

.pour-qui-grid-2 {
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:18px;
  margin-bottom:26px
}

.pour-qui .card {
  height:100%;
  display:flex;
  flex-direction:column;
  padding:24px 30px;
  transition:background-color 300ms ease, border-color 300ms ease, color 300ms ease, transform 260ms var(--ease-soft)
}

.card {
  background:var(--ivoire);
  border:1px solid var(--pierre);
  border-radius:12px;
  padding:28px 30px;
  transition:border-color 200ms ease, background 200ms ease
}

.card:hover {
  border-color:rgba(184, 144, 93, .42);
  background:rgba(184, 144, 93, .035)
}

.pour-qui .card:hover {
  background:var(--ivoire);
  border-color:var(--pierre)
}

@media(hover:hover) and (pointer:fine) {
  .pour-qui .card:hover {
    background:#14212B;
    border-color:rgba(242, 235, 221, .24);
    transform:translateY(-2px)
  }

  .pour-qui .card:hover h3 {
    color:#F2EBDD
  }

  .pour-qui .card:hover p {
    color:rgba(242, 235, 221, .84)
  }
}

.mini-proof {
  border-top:1px solid rgba(93, 87, 80, .22);
  padding-top:14px
}

.mini-proof h3 {
  font-family:var(--font-sans);
  font-size:10px;
  font-weight:500;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:#9b7448;
  margin-bottom:4px
}

.mini-proof p {
  font-size:14px;
  color:#554d46;
  line-height:1.65
}

.pourqui-conclusion {
  display:grid;
  gap:4px
}

.pourqui-conclusion p {
  margin:0
}

.pourqui-conclusion__aside {
  font-family:var(--font-serif);
  font-style:italic
}

.pourqui-cta {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  min-height:44px;
  padding:10px 14px;
  background:transparent;
  text-align:center
}

.pourqui-cta::after {
  content:none
}

.pourqui-cta__arrow {
  display:inline-block;
  transition:transform 180ms ease
}

.pourqui-cta:hover .pourqui-cta__arrow {
  transform:translateX(3px)
}

.pourqui-cta:hover {
  transform:none
}

.pourqui-cta:focus-visible {
  outline:1px solid currentColor;
  outline-offset:4px
}

.citation-section {
  background:linear-gradient(180deg, rgba(217, 199, 174, .46), rgba(217, 199, 174, .3));
  padding:clamp(68px, 7vw, 104px) 48px;
  text-align:center
}

.citation-section .container {
  position:relative
}

.citation-texte,
.citation-attribution,
.citation-sous {
  position:relative;
  z-index:1
}

.citation-calligraphy {
  position:absolute;
  left:50%;
  top:calc(68% - 24px);
  width:clamp(320px, 36vw, 560px);
  height:auto;
  opacity:.105;
  transform:translate(calc(-50% + 10px), -50%);
  pointer-events:none;
  user-select:none;
  z-index:0
}

.citation-texte {
  font-family:var(--font-serif);
  font-size:clamp(32px, 4.4vw, 54px);
  font-style:italic;
  line-height:1.22;
  max-width:980px;
  margin:0 auto 24px
}

.citation-sous {
  display:grid;
  gap:4px
}

.citation-sous p {
  color:#5d5750;
  font-size:16px;
  font-style:italic
}

@media (max-width:1024px) {
  .citation-calligraphy {
    top:calc(68% - 22px);
    width:clamp(280px, 34vw, 390px);
    opacity:.096;
    transform:translate(calc(-50% + 9px), -50%)
  }
}

@media (max-width:768px) {
  .citation-calligraphy {
    top:calc(67% - 18px);
    width:clamp(220px, 40vw, 310px);
    opacity:.086;
    transform:translate(calc(-50% + 8px), -50%)
  }
}

@media (max-width:430px) {
  .citation-calligraphy {
    top:calc(66% - 12px);
    width:clamp(180px, 48vw, 220px);
    opacity:.077;
    transform:translate(calc(-50% + 6px), -50%)
  }
}

@media (max-width:390px) {
  .citation-calligraphy {
    display:none
  }
}

.methode {
  padding-top:clamp(48px, 4.6vw, 72px);
  padding-bottom:clamp(48px, 4.6vw, 72px)
}

.methode-header {
  max-width:820px
}

.methode-grid {
  grid-template-columns:repeat(4, 1fr);
  gap:16px;
  margin:-8px 0 22px;
  list-style:none;
  padding:0
}

.etape {
  display:flex;
  flex-direction:column;
  background:var(--ivoire);
  border:1px solid rgba(184, 144, 93, .28);
  border-radius:12px;
  padding:20px 20px;
  transition:border-color 260ms ease, transform 260ms var(--ease-soft), background 260ms ease
}

.etape:hover {
  border-color:rgba(184, 144, 93, .42);
  background:rgba(184, 144, 93, .035);
  transform:translateY(-2px)
}

.etape-num {
  font-family:var(--font-serif);
  font-size:50px;
  line-height:1;
  color:rgba(184, 144, 93, .56);
  margin-bottom:10px
}

.step-functional-title {
  margin:-1px 0 9px;
  font-size:14.5px;
  font-weight:500;
  line-height:1.45;
  color:#4e463f
}

.step-label {
  display:block;
  margin:-2px 0 8px;
  font-size:11px;
  line-height:1.4;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:#87633d;
  font-weight:500
}

.step-meta {
  display:grid;
  gap:3px;
  margin:-4px 0 8px
}

.step-meta .step-label {
  margin:0
}

.step-label-secondary {
  color:rgba(135, 99, 61, .9);
  font-weight:400
}

.methode-citation {
  border:1px solid var(--pierre);
  background:rgba(217, 199, 174, .2);
  border-radius:8px;
  padding:15px 28px;
  text-align:center;
  margin-bottom:14px
}

.methode-citation p {
  font-style:italic;
  color:#554d46
}

.method-cta {
  display:grid;
  justify-items:center;
  gap:8px;
  text-align:center
}

.method-cta p {
  font-family:var(--font-serif);
  font-size:22px;
  font-style:italic;
  line-height:1.25;
  color:#4e463f
}

.method-cta-button {
  min-height:48px;
  min-width:300px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:14px;
  padding:14px 26px;
  border:1px solid var(--dore);
  background:var(--dore);
  color:var(--ivoire);
  font-family:var(--font-sans);
  font-size:13px;
  font-weight:500;
  text-transform:none;
  letter-spacing:.04em;
  text-decoration:none;
  cursor:pointer;
  transition:background-color 300ms ease, border-color 300ms ease, color 300ms ease
}

.method-cta-button:hover {
  background:#8f6b43;
  border-color:#8f6b43;
  color:var(--ivoire)
}

.method-cta-button:focus-visible {
  outline:2px solid currentColor;
  outline-offset:4px
}

.method-cta-arrow {
  display:inline-block;
  transition:transform 300ms ease
}

.method-cta-button:hover .method-cta-arrow {
  transform:translateX(3px)
}

.method-cta > span {
  font-size:13px;
  color:#6c6258
}

.pourquoi {
  background:var(--bleu-nuit);
  color:var(--ivoire);
  padding:var(--section-y) 48px
}

.pourquoi .section-title, .pourquoi h2, .pourquoi h3 {
  color:var(--ivoire)
}

.pourquoi .section-chapeau, .pourquoi p {
  color:rgba(246, 241, 232, .78)
}

.pourquoi-grid {
  grid-template-columns:repeat(4, 1fr);
  margin:38px 0
}

.pourquoi .card {
  background:rgba(246, 241, 232, .055);
  border-color:rgba(246, 241, 232, .14)
}

.pourquoi .card h3 {
  color:#fffdf7
}

.proof-strip {
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  border-top:1px solid rgba(246, 241, 232, .14);
  border-bottom:1px solid rgba(246, 241, 232, .14);
  margin:34px 0 22px
}

.proof-item {
  padding:24px 28px;
  border-right:1px solid rgba(246, 241, 232, .12)
}

.proof-item:last-child {
  border-right:0
}

.proof-kicker {
  font-family:var(--font-serif);
  font-size:42px;
  line-height:1;
  color:var(--dore);
  margin-bottom:8px
}

.proof-item h3 {
  font-family:var(--font-sans);
  font-size:14px;
  letter-spacing:.08em;
  text-transform:uppercase
}

.proof-line {
  width:100%;
  font-size:12px;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:rgba(246, 241, 232, .55);
  text-align:center;
  justify-self:center;
  margin:0 auto 24px
}

.horizons-grid {
  grid-template-columns:1.1fr 1.1fr .9fr;
  gap:20px;
  margin-bottom:36px
}

.horizons .section-title {
  max-width:780px
}

.horizon-card {
  border-radius:10px;
  overflow:hidden;
  position:relative;
  min-height:330px
}

.horizon-bg {
  position:absolute;
  inset:0;
  background-position:center;
  background-size:cover;
  transition:transform 600ms ease
}

.horizon-card:hover .horizon-bg {
  transform:scale(1.03)
}

.horizon-bg::after {
  content:"";
  position:absolute;
  inset:42% 0 0;
  background:linear-gradient(to bottom, rgba(31, 42, 46, 0), rgba(31, 42, 46, .72))
}

.bg-oman {
  background-image:linear-gradient(to bottom, rgba(26, 25, 22, .08), rgba(26, 25, 22, .58)), image-set(url('../images/horizon-oman.webp') type('image/webp'), url('../images/horizon-oman.jpg') type('image/jpeg'))
}

.bg-france {
  background-image:linear-gradient(to bottom, rgba(26, 25, 22, .08), rgba(26, 25, 22, .58)), image-set(url('../images/horizon-france.webp') type('image/webp'), url('../images/horizon-france.jpg') type('image/jpeg'))
}

.bg-autres {
  background-image:linear-gradient(to bottom, rgba(26, 25, 22, .1), rgba(26, 25, 22, .55)), image-set(url('../images/horizon-autres.webp') type('image/webp'), url('../images/horizon-autres.jpg') type('image/jpeg'))
}

.horizon-card.secondary {
  opacity:.9
}

.horizon-content {
  position:absolute;
  z-index:1;
  inset:0;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  padding:24px
}

.horizon-tags {
  font-size:9px;
  font-weight:500;
  letter-spacing:.2em;
  text-transform:uppercase;
  color:rgba(250, 248, 244, .66);
  margin-bottom:10px
}

.horizon-content h3 {
  font-family:var(--font-serif);
  font-size:28px;
  font-weight:400;
  color:var(--ivoire);
  line-height:1.1;
  margin-bottom:6px
}

.horizon-content p {
  font-size:12.5px;
  color:rgba(250, 248, 244, .82);
  line-height:1.55;
  margin-bottom:14px
}

.horizon-cta {
  position:relative;
  display:inline-flex;
  align-items:center;
  gap:10px;
  min-height:44px;
  padding:8px 4px;
  width:fit-content;
  font-size:12px;
  font-weight:500;
  letter-spacing:.06em;
  color:#eadcc6;
  text-decoration:none
}

.horizon-cta::after {
  content:none
}

.horizon-cta::before {
  content:"";
  position:absolute;
  left:0;
  right:18px;
  bottom:-3px;
  height:1px;
  background:currentColor;
  transform:scaleX(.35);
  transform-origin:left;
  transition:transform 200ms var(--ease-soft)
}

.horizon-cta:hover::before, .horizon-cta:focus-visible::before {
  transform:scaleX(1)
}

.horizon-cta__arrow {
  display:inline-block;
  transition:transform 300ms ease
}

.horizon-cta:hover .horizon-cta__arrow {
  transform:translateX(3px)
}

.horizon-cta:hover {
  transform:none
}

.horizon-cta:focus-visible {
  outline:2px solid currentColor;
  outline-offset:4px
}

.horizons-fermeture, .inspi-fermeture {
  font-family:var(--font-serif);
  font-size:20px;
  font-style:italic;
  color:#6c6258;
  text-align:center
}

.inspi-grid {
  display:grid;
  grid-template-columns:1.35fr .85fr;
  grid-template-rows:repeat(2, minmax(0, 1fr));
  gap:22px;
  margin-bottom:36px
}

.inspi-card {
  display:grid;
  align-content:start;
  text-decoration:none;
  border-radius:8px;
  color:inherit
}

.inspi-card.featured {
  grid-row:span 2
}

.inspi-img {
  width:100%;
  height:100%;
  object-fit:cover;
  border-radius:8px;
  margin-bottom:18px;
  transition:transform 600ms ease
}

.inspi-card picture {
  overflow:hidden;
  border-radius:8px;
  aspect-ratio:16/9;
  margin-bottom:18px
}

.inspi-card.featured picture {
  aspect-ratio:4/3.15
}

.inspi-card:hover .inspi-img {
  transform:scale(1.03)
}

.inspi-card h3 {
  font-size:21px
}

.projection {
  background:rgba(217, 199, 174, .22);
  padding-top:clamp(48px, 4.8vw, 74px);
  padding-bottom:clamp(48px, 4.8vw, 74px)
}

.projection-grid {
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:0;
  margin-top:26px;
  border-top:1px solid rgba(184, 144, 93, .26);
  border-bottom:1px solid rgba(184, 144, 93, .26)
}

.projection-item {
  padding:22px 28px;
  border-right:1px solid rgba(184, 144, 93, .22)
}

.projection-item:last-child {
  border-right:0
}

.projection-marker {
  font-family:var(--font-sans);
  font-size:10px;
  font-weight:500;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:#9b7448;
  margin-bottom:10px
}

.projection-note {
  margin-top:20px;
  color:#6c6258;
  font-size:14px;
  font-style:italic
}

/* Final contact and footer */
.cta-final {
  background:var(--bleu-nuit);
  padding:clamp(72px, 7vw, 104px) 48px 64px;
  text-align:center
}

.cta-final h2 {
  font-size:clamp(38px, 5.5vw, 68px);
  line-height:1.08;
  color:var(--ivoire);
  max-width:760px;
  margin:0 auto 28px
}

.cta-final .sous {
  font-size:16px;
  color:rgba(250, 248, 244, .78);
  line-height:1.78;
  max-width:580px;
  margin:0 auto 50px
}

.contact-actions {
  display:grid;
  grid-template-columns:minmax(280px, 1fr) minmax(260px, .85fr);
  gap:18px;
  max-width:820px;
  margin:0 auto 34px
}

.contact-panel {
  border:1px solid rgba(246, 241, 232, .12);
  background:rgba(246, 241, 232, .055);
  padding:26px 28px;
  text-align:left
}

.contact-panel.primary {
  background:rgba(184, 144, 93, .16);
  border-color:rgba(184, 144, 93, .42)
}

.contact-intro {
  font-size:14px;
  color:rgba(246, 241, 232, .78);
  margin-bottom:12px
}

.contact-action {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:14px 28px;
  border:1px solid var(--dore);
  color:var(--ivoire);
  background:var(--dore);
  text-decoration:none;
  font-size:11px;
  letter-spacing:.11em;
  text-transform:uppercase;
  font-weight:500;
  transition:transform 200ms var(--ease-soft), background 200ms var(--ease-soft), border-color 200ms var(--ease-soft), box-shadow 200ms var(--ease-soft)
}

.contact-action.secondary {
  background:transparent;
  color:var(--ivoire);
  border-color:rgba(246, 241, 232, .42)
}

.contact-action:hover, .contact-action:focus-visible {
  background:#8f6b43;
  border-color:#8f6b43;
  transform:translateY(-2px);
  box-shadow:0 14px 34px rgba(0, 0, 0, .2)
}

.contact-sub {
  margin:12px 0 0;
  font-size:13px;
  color:rgba(246, 241, 232, .68)
}

.whatsapp-links {
  display:flex;
  gap:14px;
  flex-wrap:wrap;
  margin-top:14px
}

.whatsapp-links a, .email-link {
  color:#eadcc6;
  text-decoration-thickness:1px;
  text-underline-offset:4px
}

.email-line {
  margin:24px 0 28px
}

.rassurance {
  font-size:13px;
  color:rgba(250, 248, 244, .62);
  line-height:1.75;
  margin-bottom:16px
}

.garanties {
  font-size:11px;
  letter-spacing:.06em;
  color:rgba(250, 248, 244, .52)
}

footer {
  background:var(--bleu-nuit);
  border-top:1px solid rgba(255, 255, 255, .08)
}

.footer-signature {
  text-align:center;
  padding:clamp(44px, 5vw, 72px) 48px 0
}

.footer-signature p {
  font-family:var(--font-serif);
  font-size:clamp(24px, 3vw, 38px);
  font-style:italic;
  color:rgba(246, 241, 232, .84);
  line-height:1.25;
  max-width:820px;
  margin-inline:auto;
  padding-bottom:clamp(34px, 4vw, 52px);
  border-bottom:1px solid rgba(255, 255, 255, .08)
}

.footer-body {
  display:grid;
  grid-template-columns:1.4fr 1fr 1fr 1fr;
  gap:48px;
  padding:34px 48px 30px;
  max-width:1160px;
  margin:0 auto
}

.footer-brand-logo {
  width:150px;
  margin-bottom:18px
}

.footer-logo-tag {
  font-size:9px;
  font-weight:400;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:rgba(250, 248, 244, .68);
  margin-bottom:16px
}

.footer-desc, .footer-response {
  font-size:13px;
  color:rgba(246, 241, 232, .72);
  line-height:1.75
}

.footer-response {
  margin-top:20px
}

.footer-col-title {
  color:rgba(234, 220, 198, .78)
}

.footer-links {
  list-style:none;
  display:flex;
  flex-direction:column;
  gap:10px
}

.footer-links a, .footer-legals a {
  font-size:13.5px;
  color:rgba(246, 241, 232, .8);
  text-decoration:none;
  transition:color 160ms ease
}

.footer-links a:hover, .footer-legals a:hover {
  color:var(--ivoire)
}

.social-link {
  display:inline-flex;
  align-items:center;
  gap:10px
}

.social-icon {
  width:18px;
  height:18px;
  display:inline-flex;
  color:rgba(246, 241, 232, .78)
}

.social-icon svg {
  width:18px;
  height:18px
}

.lang-switch {
  display:inline-flex;
  border:1px solid rgba(246, 241, 232, .2);
  margin-top:12px
}

.lang-option {
  appearance:none;
  border:0;
  background:transparent;
  padding:0 11px;
  height:34px;
  font-family:var(--font-sans);
  font-size:10px;
  font-weight:500;
  letter-spacing:.11em;
  text-transform:uppercase;
  color:rgba(246, 241, 232, .7);
  cursor:pointer
}

.lang-option+ .lang-option {
  border-left:1px solid rgba(246, 241, 232, .18)
}

.lang-option.active, .lang-option:hover {
  background:var(--dore);
  color:var(--ivoire)
}

.footer-lang-text {
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:2px;
  margin-top:16px;
  font-family:var(--font-sans);
  font-size:12px;
  letter-spacing:.02em
}

.lang-text-option {
  appearance:none;
  background:none;
  border:0;
  padding:0;
  font:inherit;
  color:var(--gris-chaud);
  cursor:pointer;
  transition:color 180ms ease
}

.lang-text-option.active {
  color:var(--ivoire);
  font-weight:500
}

.lang-text-option:hover, .lang-text-option:focus-visible {
  color:var(--dore)
}

.lang-text-option:focus-visible {
  outline:1px solid var(--dore);
  outline-offset:4px
}

.lang-sep {
  color:var(--gris-chaud);
  opacity:.5
}

[dir=rtl] .lang-text-option[data-lang=ar] {
  letter-spacing:0;
  font-family:var(--font-arabic-sans)
}

.footer-bottom {
  border-top:1px solid rgba(255, 255, 255, .07);
  padding:16px 48px;
  display:flex;
  justify-content:space-between;
  align-items:center
}

.footer-copyright, .footer-legals a {
  font-size:12px;
  color:rgba(246, 241, 232, .62)
}

.footer-legals {
  display:flex;
  gap:24px
}

.footer-citation {
  text-align:center;
  padding:14px 48px 22px;
  font-family:var(--font-serif);
  font-size:13px;
  font-style:italic;
  color:rgba(246, 241, 232, .48)
}

/* Secondary and legal pages */
.simple-page {
  padding-top:96px
}

.simple-page h1 {
  font-family:var(--font-serif);
  font-size:clamp(44px, 6vw, 76px);
  font-weight:300;
  line-height:1.05;
  margin-bottom:28px
}

.simple-page h2 {
  font-family:var(--font-serif);
  font-size:28px;
  font-weight:400;
  margin:28px 0 8px
}

.simple-page p {
  max-width:760px;
  color:#554d46;
  margin-bottom:14px
}

/* Approach page */
.approach-page .site-header:not(.scrolled) .primary-nav a,
.approach-page .site-header:not(.scrolled) .menu-toggle,
.inspirations-page .site-header:not(.scrolled) .primary-nav a,
.inspirations-page .site-header:not(.scrolled) .menu-toggle,
.oman-page .site-header:not(.scrolled) .primary-nav a,
.oman-page .site-header:not(.scrolled) .menu-toggle {
  color:rgba(250, 248, 244, .9)
}

.approach-page .site-header:not(.scrolled) .language-menu-trigger,
.inspirations-page .site-header:not(.scrolled) .language-menu-trigger,
.oman-page .site-header:not(.scrolled) .language-menu-trigger {
  color:rgba(250, 248, 244, .92);
  border-color:rgba(246, 241, 232, .42);
  background:rgba(31, 42, 46, .18)
}

.approach-page .site-header:not(.scrolled) .language-menu-chevron path,
.inspirations-page .site-header:not(.scrolled) .language-menu-chevron path,
.oman-page .site-header:not(.scrolled) .language-menu-chevron path {
  stroke:rgba(250, 248, 244, .86)
}

.approach-page {
  --approach-space-major:clamp(72px, 6vw, 96px);
  --approach-space-standard:clamp(60px, 5vw, 82px);
  --approach-space-compact:clamp(48px, 4vw, 68px)
}

.approach-hero {
  position:relative;
  min-height:100svh;
  display:grid;
  place-items:center;
  overflow:hidden;
  padding:0 48px;
  color:var(--ivoire)
}

.approach-hero picture,
.approach-hero__img,
.approach-hero__overlay {
  position:absolute;
  inset:0
}

.approach-hero__img {
  width:100%;
  height:100%;
  object-fit:cover
}

.approach-hero__overlay {
  background:linear-gradient(90deg, rgba(31, 42, 46, .68), rgba(31, 42, 46, .2) 58%, rgba(31, 42, 46, .5));
  z-index:1
}

.approach-hero__content {
  position:relative;
  z-index:2;
  width:min(760px, 100%);
  margin-right:auto;
  padding-top:var(--header-h)
}

.approach-hero h1 {
  font-size:clamp(54px, 7vw, 104px);
  line-height:.98;
  max-width:760px;
  margin-bottom:26px;
  color:var(--ivoire)
}

.approach-hero p {
  max-width:620px;
  font-size:clamp(17px, 1.65vw, 23px);
  line-height:1.58;
  color:rgba(250, 248, 244, .86);
  margin-bottom:32px
}

.approach-intro,
.approach-method,
.approach-founder,
.approach-line {
  background:var(--ivoire)
}

.approach-split {
  display:grid;
  grid-template-columns:minmax(0, 1.05fr) minmax(280px, .72fr);
  align-items:center;
  gap:clamp(44px, 7vw, 92px)
}

.approach-copy {
  max-width:640px
}

.approach-copy p {
  color:#554d46;
  font-size:16px;
  line-height:1.84;
  margin-bottom:16px
}

.approach-quote {
  margin-top:34px;
  padding-left:28px;
  border-left:1px solid var(--dore);
  color:var(--noir);
  font-family:var(--font-serif);
  font-size:clamp(28px, 3.2vw, 42px);
  font-style:italic;
  font-weight:300;
  line-height:1.18
}

.approach-side-image,
.approach-founder-image {
  display:block;
  overflow:hidden;
  border:1px solid rgba(184, 144, 93, .2);
  background:var(--sable)
}

.approach-side-image img,
.approach-founder-image img {
  width:100%;
  aspect-ratio:3 / 4.7;
  height:auto;
  object-fit:cover
}

.approach-listen,
.approach-decisions {
  background:var(--bleu-nuit)
}

.approach-listen .section-title,
.approach-decisions .section-title {
  color:var(--ivoire);
  max-width:760px
}

.approach-decisions .section-chapeau {
  color:rgba(246, 241, 232, .72)
}

.approach-card-grid {
  display:grid;
  gap:18px
}

.approach-card-grid.three {
  grid-template-columns:repeat(3, minmax(0, 1fr))
}

.approach-dark-card {
  min-height:260px;
  padding:30px;
  border:1px solid rgba(246, 241, 232, .12);
  background:rgba(246, 241, 232, .045)
}

.approach-dark-card span {
  display:block;
  margin-bottom:34px;
  color:var(--dore);
  font-size:12px;
  letter-spacing:.16em
}

.approach-dark-card h3 {
  color:var(--ivoire);
  font-family:var(--font-serif);
  font-size:clamp(25px, 2.5vw, 34px);
  font-weight:300;
  line-height:1.1;
  margin-bottom:16px
}

.approach-dark-card p {
  color:rgba(246, 241, 232, .72);
  font-size:15px;
  line-height:1.76
}

.approach-arbitrage-grid {
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:1px;
  margin-top:34px;
  border:1px solid rgba(246, 241, 232, .12);
  background:rgba(246, 241, 232, .12)
}

.approach-arbitrage {
  min-height:300px;
  padding:30px 26px;
  background:var(--bleu-nuit)
}

.approach-arbitrage span {
  display:block;
  margin-bottom:38px;
  color:var(--dore-pale);
  font-size:11px;
  letter-spacing:.16em
}

.approach-arbitrage h3 {
  color:var(--ivoire);
  font-family:var(--font-serif);
  font-size:clamp(25px, 2.4vw, 34px);
  font-weight:300;
  line-height:1.08;
  margin-bottom:16px
}

.approach-arbitrage p {
  color:rgba(246, 241, 232, .7);
  font-size:14.5px;
  line-height:1.72
}

.approach-method .section-chapeau {
  margin-inline:auto;
  text-align:center
}

.approach-practical {
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:10px;
  max-width:920px;
  margin:34px auto 0
}

.approach-practical span {
  display:inline-flex;
  align-items:center;
  min-height:38px;
  padding:9px 14px;
  border:1px solid rgba(184, 144, 93, .26);
  color:#675d53;
  font-size:12px;
  line-height:1.35
}

.approach-wide-image {
  position:relative;
  min-height:clamp(360px, 50vw, 620px);
  overflow:hidden;
  display:grid;
  place-items:center;
  color:var(--ivoire)
}

.approach-wide-image picture,
.approach-wide-image img {
  position:absolute;
  inset:0;
  width:100%;
  height:100%
}

.approach-wide-image img {
  object-fit:cover
}

.approach-wide-image::after {
  content:"";
  position:absolute;
  inset:0;
  background:rgba(31, 42, 46, .48)
}

.approach-wide-caption {
  position:relative;
  z-index:1;
  max-width:780px;
  padding:0 28px;
  font-family:var(--font-serif);
  font-size:clamp(34px, 5vw, 66px);
  font-style:italic;
  font-weight:300;
  line-height:1.08;
  text-align:center
}

.approach-change {
  padding:0;
  background:var(--ivoire)
}

.approach-dune-pause {
  padding:0
}

.approach-carnet {
  background:linear-gradient(180deg, var(--ivoire), rgba(217, 199, 174, .2))
}

.approach-carnet[hidden] {
  display:none
}

.approach-carnet__header {
  max-width:760px
}

.approach-carnet__note {
  max-width:620px;
  margin-top:4px;
  color:#7a7067;
  font-size:13px;
  line-height:1.7
}

.approach-carnet__pages {
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:clamp(24px, 2.6vw, 36px);
  align-items:end;
  margin-top:clamp(40px, 6vw, 76px);
  padding:0
}

.carnet-page-card {
  margin:0;
  min-width:0
}

.carnet-page-button {
  display:block;
  width:100%;
  padding:0;
  border:0;
  border-radius:2px;
  background:transparent;
  cursor:zoom-in;
  box-shadow:0 18px 42px rgba(31, 42, 46, .08);
  transition:
    transform 420ms cubic-bezier(.22, 1, .36, 1),
    box-shadow 420ms cubic-bezier(.22, 1, .36, 1)
}

.carnet-page-button:focus-visible {
  outline:2px solid var(--or);
  outline-offset:5px
}

.carnet-page-button picture {
  display:block
}

.carnet-page-button img {
  display:block;
  width:100%;
  height:auto;
  border:1px solid rgba(184, 144, 93, .26);
  background:var(--ivoire)
}

.carnet-page-card figcaption {
  margin-top:14px;
  color:#625950;
  font-size:13px;
  line-height:1.55;
  text-align:center
}

.carnet-page-card figcaption span {
  display:block
}

.paris-proof {
  display:grid;
  grid-template-columns:minmax(0, .95fr) minmax(0, 1.05fr);
  gap:clamp(28px, 4vw, 56px);
  align-items:center;
  max-width:1180px;
  margin:clamp(46px, 6vw, 78px) auto clamp(18px, 3vw, 34px);
  padding:clamp(22px, 3.4vw, 40px);
  border:1px solid rgba(184, 144, 93, .16);
  border-radius:8px;
  background:rgba(250, 247, 239, .72);
  box-shadow:0 18px 48px rgba(31, 42, 46, .055)
}

.paris-proof__visual {
  display:block;
  width:100%;
  aspect-ratio:1341 / 1204;
  padding:0;
  border:0;
  background:transparent;
  cursor:pointer;
  transition:transform .32s ease, filter .32s ease
}

.paris-proof__visual picture,
.paris-proof__visual img {
  display:block;
  width:100%;
  height:100%
}

.paris-proof__visual img {
  object-fit:contain
}

.paris-proof__visual:focus-visible {
  outline:2px solid var(--or);
  outline-offset:5px
}

.paris-proof__content {
  max-width:560px
}

.paris-proof__eyebrow {
  color:var(--or)
}

.paris-proof__content h3 {
  margin:14px 0 22px;
  font-family:var(--font-serif);
  font-size:clamp(34px, 4vw, 56px);
  font-weight:300;
  line-height:1.13;
  color:var(--bleu-nuit)
}

.paris-proof__text {
  color:#342f2b;
  font-size:clamp(17px, 1.6vw, 22px);
  line-height:1.85
}

.paris-proof__privacy {
  margin-top:22px;
  color:#4d5d62;
  font-size:15px;
  font-style:italic;
  line-height:1.5
}

.paris-proof__privacy::before {
  content:"";
  display:inline-block;
  width:10px;
  height:14px;
  margin-right:10px;
  border:1px solid var(--or);
  border-radius:2px;
  box-shadow:inset 0 4px 0 rgba(184, 144, 93, .16);
  vertical-align:-2px
}

.paris-proof__cta {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin-top:30px;
  min-height:58px;
  padding:16px 28px;
  border:1px solid rgba(184, 144, 93, .3);
  border-radius:8px;
  background:var(--bleu-nuit);
  color:var(--ivoire);
  font-family:var(--font-sans);
  font-size:14px;
  font-weight:500;
  letter-spacing:.04em;
  cursor:pointer;
  box-shadow:0 12px 28px rgba(4, 36, 58, .16);
  transition:transform .32s ease, box-shadow .32s ease, background-color .32s ease
}

.paris-proof__cta:hover {
  transform:translateY(-2px);
  box-shadow:0 16px 34px rgba(4, 36, 58, .2)
}

.paris-proof__cta:focus-visible {
  outline:2px solid var(--or);
  outline-offset:4px
}

.paris-modal {
  position:fixed;
  inset:0;
  z-index:1000;
  display:grid;
  place-items:center;
  padding:clamp(18px, 3vw, 38px);
  overflow-y:auto;
  background:rgba(18, 23, 24, .72);
  -webkit-overflow-scrolling:touch
}

.paris-modal[hidden] {
  display:none
}

.paris-modal__panel {
  position:relative;
  z-index:1;
  width:min(92vw, 980px);
  max-height:88vh;
  overflow-y:auto;
  padding:clamp(22px, 4vw, 42px);
  background:var(--ivoire);
  color:var(--gris-fort);
  box-shadow:0 28px 80px rgba(0, 0, 0, .3);
  -webkit-overflow-scrolling:touch
}

.paris-modal .carnet-modal__close {
  top:auto;
  right:auto;
  inset-block-start:18px;
  inset-inline-end:18px
}

.paris-modal__header {
  max-width:680px;
  margin:0 auto 28px;
  text-align:center
}

.paris-modal__header h2 {
  margin:8px 0 10px;
  font-family:var(--font-serif);
  font-size:clamp(32px, 4vw, 52px);
  font-weight:300;
  line-height:1.1;
  color:var(--bleu-nuit)
}

.paris-modal__header p:not(.eyebrow) {
  color:#6d6258;
  line-height:1.7
}

.paris-modal__list {
  display:grid;
  gap:34px
}

.paris-modal__figure {
  margin:0;
  text-align:center
}

.paris-modal__image-link {
  display:inline-block;
  max-width:min(100%, 720px);
  color:inherit
}

.paris-modal__image-link:focus-visible {
  outline:2px solid var(--or);
  outline-offset:5px
}

.paris-modal__figure img {
  display:block;
  width:100%;
  height:auto;
  margin:0 auto;
  box-shadow:0 18px 42px rgba(31, 42, 46, .1)
}

.paris-modal__figure figcaption {
  margin-top:12px;
  color:#625950;
  font-size:13px;
  line-height:1.55
}

.paris-modal__full-link {
  display:inline-flex;
  margin-top:10px;
  color:var(--bleu-nuit);
  font-size:12px;
  text-decoration:underline;
  text-underline-offset:4px
}

.paris-modal__full-link:focus-visible {
  outline:2px solid var(--or);
  outline-offset:4px
}

@media(hover:hover) and (pointer:fine) {
  .paris-proof__visual:hover {
    transform:translateY(-3px);
    filter:drop-shadow(0 16px 28px rgba(31, 42, 46, .08))
  }

  .carnet-page-button:hover {
    transform:translateY(-6px) scale(1.045);
    box-shadow:0 24px 58px rgba(31, 42, 46, .14)
  }
}

.carnet-modal {
  position:fixed;
  inset:0;
  z-index:1000;
  display:grid;
  place-items:center;
  padding:clamp(18px, 3vw, 38px);
  overflow-y:auto;
  background:rgba(18, 23, 24, .72);
  -webkit-overflow-scrolling:touch
}

.carnet-modal[hidden] {
  display:none
}

.carnet-modal__backdrop {
  position:absolute;
  inset:0
}

.carnet-modal__frame {
  position:relative;
  z-index:1;
  width:min(92vw, 1100px);
  margin:0;
  display:grid;
  gap:12px;
  color:var(--ivoire);
  text-align:center
}

.carnet-modal__image {
  display:block;
  width:auto;
  height:auto;
  max-width:min(92vw, 1100px);
  max-height:82vh;
  margin:0 auto;
  background:var(--ivoire);
  box-shadow:0 28px 80px rgba(0, 0, 0, .3)
}

.carnet-modal__frame figcaption {
  font-size:13px;
  line-height:1.5
}

.carnet-modal__full-link {
  justify-self:center;
  color:var(--ivoire);
  font-family:var(--font-sans);
  font-size:12px;
  letter-spacing:.05em;
  text-decoration:underline;
  text-underline-offset:5px;
  opacity:.86
}

.carnet-modal__full-link:focus-visible {
  outline:2px solid var(--ivoire);
  outline-offset:5px
}

.carnet-modal__close {
  position:fixed;
  z-index:2;
  top:18px;
  right:18px;
  width:42px;
  height:42px;
  border:1px solid rgba(255, 255, 255, .45);
  border-radius:50%;
  background:rgba(250, 247, 239, .12);
  color:var(--ivoire);
  font-size:28px;
  line-height:1;
  cursor:pointer
}

.carnet-modal__close:focus-visible {
  outline:2px solid var(--ivoire);
  outline-offset:4px
}

body.carnet-modal-open {
  overflow:hidden
}

body.paris-modal-open {
  overflow:hidden
}

.visually-hidden {
  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
}

@media(max-width:1099px) and (min-width:768px) {
  .approach-carnet__pages {
    grid-template-columns:repeat(2, minmax(0, 1fr));
    max-width:820px;
    margin-left:auto;
    margin-right:auto
  }

  .carnet-page-card:nth-child(3) {
    grid-column:1 / -1;
    width:min(50%, 380px);
    justify-self:center
  }
}

@media(max-width:767px) {
  .paris-proof {
    grid-template-columns:1fr;
    gap:22px;
    padding:22px 18px;
    text-align:center
  }

  .paris-proof__visual,
  .paris-proof__content {
    max-width:430px;
    margin-inline:auto
  }

  .paris-proof__content h3 {
    font-size:clamp(31px, 9vw, 42px)
  }

  .paris-proof__cta {
    width:100%;
    margin-inline:auto
  }

  .paris-modal {
    align-items:start;
    padding:64px 16px 22px
  }

  .paris-modal__panel {
    width:100%;
    max-height:none;
    padding:22px 16px
  }

  .approach-carnet__pages {
    grid-template-columns:1fr;
    gap:28px;
    max-width:430px;
    margin-left:auto;
    margin-right:auto
  }

  .carnet-page-card figcaption {
    margin-top:12px;
    text-align:center
  }

  .carnet-modal {
    align-items:start;
    padding:64px 16px 22px
  }

  .carnet-modal__frame {
    width:100%
  }

  .carnet-modal__image {
    max-width:100%;
    max-height:74vh
  }

  .carnet-modal__full-link {
    max-width:260px;
    line-height:1.5
  }
}

.approach-family,
.approach-founder,
.approach-line {
  position:relative
}

.approach-family-visual,
.approach-forest {
  position:relative;
  min-height:clamp(430px, 54vw, 680px);
  display:grid;
  align-items:center;
  overflow:hidden;
  padding:clamp(52px, 7vw, 86px) 48px;
  color:var(--ivoire)
}

.approach-family-visual picture,
.approach-family-visual img,
.approach-forest picture,
.approach-forest img {
  position:absolute;
  inset:0;
  width:100%;
  height:100%
}

.approach-family-visual img,
.approach-forest img {
  object-fit:cover
}

.approach-family-visual img {
  object-position:center 48%
}

.approach-family-visual::after,
.approach-forest::after {
  content:"";
  position:absolute;
  inset:0;
  background:rgba(31, 42, 46, .34)
}

.approach-image-quote {
  position:relative;
  z-index:1;
  width:min(640px, 100%);
  margin-left:auto;
  padding:28px 0;
  text-align:left
}

.approach-image-quote blockquote,
.approach-forest__text {
  font-family:var(--font-serif);
  font-size:clamp(28px, 3.8vw, 46px);
  font-style:italic;
  font-weight:300;
  line-height:1.16;
  color:var(--ivoire)
}

.approach-image-quote figcaption {
  margin-top:18px;
  color:rgba(246, 241, 232, .82);
  font-size:12px;
  letter-spacing:.12em;
  text-transform:uppercase
}

.approach-forest {
  min-height:clamp(360px, 45vw, 560px)
}

.approach-forest img {
  object-position:center 42%
}

.approach-forest::after {
  background:rgba(31, 42, 46, .22)
}

.approach-forest__text {
  position:relative;
  z-index:1;
  max-width:620px;
  margin:0 auto;
  text-align:center
}

.approach-change-inner {
  display:grid;
  grid-template-columns:minmax(0, .9fr) minmax(0, 1.1fr);
  gap:clamp(36px, 6vw, 74px);
  padding:var(--section-y) 0
}

.approach-benefits {
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:18px
}

.founder-layout {
  grid-template-columns:minmax(280px, .72fr) minmax(0, 1.05fr)
}

.founder-signature {
  margin-top:24px;
  color:var(--gris-fort);
  font-size:13px;
  letter-spacing:.08em;
  text-transform:uppercase
}

.approach-line {
  background:linear-gradient(180deg, var(--ivoire), rgba(217, 199, 174, .24))
}

.approach-two-columns {
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:18px;
  margin-top:36px
}

.approach-list-card {
  padding:34px;
  border:1px solid rgba(184, 144, 93, .25);
  background:rgba(255, 255, 255, .28)
}

.approach-list-card.muted {
  background:rgba(31, 42, 46, .04)
}

.approach-list-card h3 {
  font-family:var(--font-serif);
  font-size:clamp(29px, 3vw, 40px);
  font-weight:300;
  line-height:1.1;
  margin-bottom:24px
}

.approach-list-card ul {
  list-style:none;
  display:grid;
  gap:14px
}

.approach-list-card li {
  position:relative;
  padding-left:22px;
  color:#554d46;
  line-height:1.65
}

.approach-list-card li::before {
  content:"";
  position:absolute;
  left:0;
  top:.72em;
  width:7px;
  height:7px;
  border-radius:50%;
  background:var(--dore)
}

[dir=rtl] .approach-quote {
  padding-left:0;
  padding-right:28px;
  border-left:0;
  border-right:1px solid var(--dore)
}

[dir=rtl] .approach-list-card li {
  padding-left:0;
  padding-right:22px
}

[dir=rtl] .approach-list-card li::before {
  left:auto;
  right:0
}

[dir=rtl] .approach-image-quote {
  margin-left:0;
  margin-right:auto;
  text-align:right
}

.legal-page .legal-container {
  max-width:900px
}

.legal-document {
  max-width:780px
}

.legal-document p {
  max-width:none;
  margin-bottom:16px
}

.legal-document a {
  color:inherit;
  text-decoration:underline;
  text-underline-offset:4px
}

.legal-contact,
.legal-contact__latin {
  direction:ltr;
  unicode-bidi:isolate
}

.simple-actions {
  display:flex;
  gap:18px;
  flex-wrap:wrap;
  margin-top:28px
}

.dev-legal-warning {
  background:rgba(217, 199, 174, .5);
  border-left:2px solid var(--dore);
  padding:14px 18px;
  margin-bottom:28px;
  color:#4e463f
}

a:focus-visible, button:focus-visible, select:focus-visible {
  outline:2px solid var(--dore);
  outline-offset:5px
}

[dir=rtl] body {
  font-family:var(--font-arabic-sans);
  letter-spacing:0
}

[dir=rtl] h1, [dir=rtl] h2, [dir=rtl] .section-title, [dir=rtl] .citation-texte, [dir=rtl] .pont-transition, [dir=rtl] .manifeste {
  font-family:var(--font-arabic-serif);
  letter-spacing:0
}

[dir=rtl] .eyebrow, [dir=rtl] .hero-tagline, [dir=rtl] .hero-eyebrow, [dir=rtl] .horizon-tags, [dir=rtl] .footer-col-title, [dir=rtl] .step-label, [dir=rtl] .projection-marker {
  letter-spacing:.03em
}

[dir=rtl] .manifest-copy, [dir=rtl] .triptyque-col, [dir=rtl] .card, [dir=rtl] .etape, [dir=rtl] .horizon-content, [dir=rtl] .projection-item, [dir=rtl] .footer-desc {
  text-align:right
}

[dir=rtl] .legal-page,
[dir=rtl] .legal-document {
  text-align:right
}

[dir=rtl] .legal-contact,
[dir=rtl] .legal-contact__latin {
  direction:ltr;
  unicode-bidi:isolate;
  text-align:left
}

[dir=rtl] .hero-content, [dir=rtl] .citation-section, [dir=rtl] .cta-final {
  text-align:center
}

[dir=rtl] .paris-proof {
  direction:rtl
}

[dir=rtl] .paris-proof__content {
  text-align:right
}

[dir=rtl] .paris-proof__visual,
[dir=rtl] .paris-modal__figure {
  direction:ltr
}

[dir=rtl] .paris-modal__header {
  direction:rtl;
  text-align:right
}

[dir=rtl] .paris-modal__figure picture,
[dir=rtl] .paris-modal__figure img {
  direction:ltr
}

[dir=rtl] .paris-modal__figure figcaption {
  direction:rtl;
  text-align:right
}

[dir=rtl] .paris-proof__privacy::before {
  margin-right:0;
  margin-left:10px
}

[dir=rtl] .btn-primary::after, [dir=rtl] .btn-ghost::after, [dir=rtl] .contact-action::after, [dir=rtl] .cta-link::after, [dir=rtl] .stats-cta a::after {
  content:'  ←'
}

/* Responsive rules */
@media(min-width:1180px) {
.horizons-grid {
  grid-template-columns:1.1fr 1.1fr .9fr
}

}

@media(max-width:1179px) {
.methode-grid, .pourquoi-grid {
  grid-template-columns:repeat(2, 1fr)
}

.horizons-grid {
  grid-template-columns:1fr 1fr
}

.horizon-card.secondary {
  grid-column:1/-1
}

.primary-nav {
  gap:18px
}

}

@media(max-width:767px) {
.methode-grid {
  grid-template-columns:1fr
}

.horizons-grid {
  grid-template-columns:1fr
}

.horizon-card.secondary {
  grid-column:auto
}

}

@media(max-width:900px) {
html {
  scroll-padding-top:84px
}

section, footer, [id] {
  scroll-margin-top:84px
}

.site-header {
  height:68px;
  padding:0 18px
}

.brand-logo {
  width:112px;
  max-height:28px
}

.logo {
  min-width:112px
}

.btn-header {
  display:none
}

.pour-qui .card {
  height:auto
}

.menu-toggle {
  display:inline-flex;
  align-items:center;
  justify-content:center
}

.primary-nav {
  position:fixed;
  top:68px;
  left:18px;
  right:18px;
  display:flex;
  flex-direction:column;
  align-items:stretch;
  gap:0;
  padding:16px;
  background:rgba(246, 241, 232, .98);
  border:1px solid rgba(184, 144, 93, .2);
  box-shadow:0 20px 60px rgba(31, 42, 46, .14);
  opacity:0;
  pointer-events:none;
  transform:translateY(-8px);
  transition:opacity 180ms ease, transform 180ms ease
}

.primary-nav.open {
  opacity:1;
  pointer-events:auto;
  transform:translateY(0)
}

.primary-nav a {
  color:var(--noir);
  padding:14px 12px;
  border-bottom:1px solid rgba(184, 144, 93, .13)
}

.primary-nav__mobile-cta {
  display:flex;
  align-items:center;
  justify-content:center;
  margin-top:12px;
  min-height:44px;
  border:1px solid var(--dore);
  background:var(--bleu-nuit);
  color:var(--ivoire) !important
}

.primary-nav a:last-child {
  border-bottom:0
}

.hero {
  min-height:620px;
  padding:0 22px
}

.hero-bg::before {
  inset:19% 4% 18%
}

.hero h1 {
  font-size:clamp(44px, 12vw, 64px)
}

.hero-sub {
  font-size:17px
}

.hero-ctas {
  flex-direction:column;
  align-items:center
}

.btn-primary, .btn-ghost {
  width:min(100%, 320px)
}

section, .pont-culturel, .triptyque, .pour-qui, .citation-section, .methode, .pourquoi, .horizons, .inspirations, .projection, .cta-final {
  padding-left:22px;
  padding-right:22px
}

.manifest-grid, .triptyque-grid, .pour-qui-grid, .pour-qui-grid-2, .pourquoi-grid, .proof-strip, .inspi-grid, .projection-grid, .contact-actions, .footer-body {
  grid-template-columns:1fr
}

.proof-strip, .projection-grid {
  border-bottom:0
}

.proof-item, .projection-item {
  border-right:0;
  border-bottom:1px solid rgba(184, 144, 93, .22);
  padding-left:0;
  padding-right:0
}

.inspi-card.featured {
  grid-row:auto
}

.bubble-whatsapp {
  right:16px;
  bottom:16px;
  padding:10px 12px;
  font-size:12px
}

.bubble-whatsapp span {
  max-width:82px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis
}

.contact-panel {
  text-align:center
}

.approach-hero {
  min-height:720px;
  padding:0 22px
}

.approach-hero__content {
  padding-top:88px
}

.approach-split,
.founder-layout,
.approach-change-inner,
.approach-card-grid.three,
.approach-arbitrage-grid,
.approach-two-columns {
  grid-template-columns:1fr
}

.approach-side-image,
.approach-founder-image {
  max-width:520px;
  margin-inline:auto
}

.approach-change-inner {
  padding:var(--section-y-tight) 22px
}

.approach-arbitrage {
  min-height:auto
}

.approach-carnet__pages {
  gap:34px;
  padding:0;
  margin-top:36px
}

.carnet-page-card,
.carnet-page-card--main,
.carnet-page-card--secondary,
.carnet-page-card--tertiary {
  grid-column:auto;
  grid-row:auto;
  transform:none
}

.carnet-page-card img {
  max-width:430px;
  margin-inline:auto
}

.approach-family-visual,
.approach-forest {
  min-height:520px;
  padding:58px 22px
}

.approach-family-visual img {
  object-position:16% 50%
}

.approach-image-quote {
  width:100%;
  margin:0;
  padding-top:190px
}

.approach-image-quote blockquote,
.approach-forest__text {
  font-size:clamp(25px, 7vw, 34px)
}

.approach-benefits {
  grid-template-columns:1fr
}

.approach-dark-card {
  min-height:auto
}

.whatsapp-links {
  justify-content:center
}

.footer-signature, .footer-body, .footer-bottom {
  padding-left:22px;
  padding-right:22px
}

.footer-bottom {
  gap:14px;
  flex-direction:column
}

}

@media(max-width:430px) {
.language-menu-trigger {
  height:34px;
  min-width:58px
}

.menu-toggle {
  height:34px;
  padding:0 10px
}

.brand-logo {
  width:102px
}

.hero h1 {
  font-size:clamp(39px, 12vw, 52px)
}

.btn-primary, .btn-ghost {
  width:100%;
  padding-left:18px;
  padding-right:18px
}

.method-cta-button {
  width:100%
}

}

/* Surgical rhythm pass for L'Approche only */
.approach-page .approach-intro {
  padding-block:var(--approach-space-major)
}

.approach-page .approach-decisions {
  padding-block:clamp(68px, 5.5vw, 88px)
}

.approach-page .approach-decisions .section-chapeau,
.approach-page .approach-method .section-chapeau {
  margin-bottom:32px
}

.approach-page .approach-dune-pause .approach-wide-image {
  min-height:clamp(360px, 38vw, 520px)
}

.approach-page .approach-method {
  padding-block:clamp(64px, 5vw, 84px)
}

.approach-page .approach-practical {
  margin-top:26px
}

.approach-page .approach-carnet {
  padding-block:clamp(68px, 5.5vw, 90px)
}

.approach-page .approach-carnet__pages {
  margin-top:clamp(30px, 4vw, 48px)
}

.approach-page .paris-proof {
  margin-top:clamp(40px, 5vw, 60px);
  margin-bottom:0
}

.approach-page .approach-family-visual {
  min-height:clamp(400px, 42vw, 540px);
  padding-block:clamp(42px, 5vw, 64px)
}

.approach-page .approach-family {
  padding-block:0
}

.approach-page .approach-change-inner {
  padding-block:clamp(62px, 5vw, 82px)
}

.approach-page .approach-founder {
  padding-block:clamp(68px, 5.5vw, 92px)
}

.approach-page .approach-line {
  padding-block:clamp(58px, 4.5vw, 76px)
}

.approach-page .approach-two-columns {
  margin-top:28px
}

.approach-page .approach-forest {
  min-height:clamp(300px, 34vw, 430px);
  padding-block:clamp(42px, 5vw, 60px)
}

.cta-final--reference {
  padding-block:clamp(64px, 6vw, 86px) 56px
}

.cta-final--reference .container,
.cta-final--reference .cta-final__shared {
  max-width:1120px;
  margin-inline:auto
}

.cta-final--reference .sous {
  max-width:760px;
  margin-bottom:36px;
  margin-inline:auto
}

.cta-final--reference .contact-actions {
  grid-template-columns:repeat(2, minmax(0, 1fr));
  align-items:stretch;
  margin-bottom:26px
}

.cta-final--reference .contact-panel {
  min-height:100%;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center
}

.cta-final--reference .contact-action {
  width:min(100%, 330px);
  margin-inline:auto;
  justify-content:center;
  text-align:center
}

.cta-final--reference .contact-intro,
.cta-final--reference .contact-sub {
  width:100%;
  text-align:center
}

.cta-final--reference .whatsapp-links {
  justify-content:center
}

.cta-final--reference .whatsapp-links a,
.cta-final--reference .email-link {
  display:inline-flex;
  align-items:center;
  min-height:44px;
  padding-block:8px
}

.cta-final--reference .email-line,
.cta-final--reference .rassurance,
.cta-final--reference .garanties {
  max-width:760px;
  margin-inline:auto;
  text-align:center
}

.cta-final--reference .email-line {
  margin-block:24px 28px
}

.cta-final--reference .rassurance {
  margin-bottom:16px
}

.approach-page #famille .approach-change-inner {
  padding-block-start:clamp(62px, 5vw, 82px);
  padding-block-end:clamp(46px, 3.4vw, 54px)
}

.approach-page #famille .eyebrow {
  margin-bottom:14px
}

.approach-page #famille .approach-benefits {
  align-self:start;
  margin-top:clamp(160px, 12.5vw, 173px)
}

.approach-page #famille .mini-proof {
  position:relative;
  border-top:0;
  padding-top:14px
}

.approach-page #famille .mini-proof.reveal {
  opacity:1;
  transform:none;
  transition:none
}

.approach-page #famille .mini-proof::before {
  content:"";
  position:absolute;
  inset-inline:0;
  top:0;
  height:1px;
  background:rgba(93, 87, 80, .22);
  transform:scaleX(0);
  transform-origin:left center;
  transition:transform 320ms cubic-bezier(.22, 1, .36, 1)
}

.approach-page #famille .mini-proof.visible::before {
  transform:scaleX(1)
}

.approach-page #famille .mini-proof:nth-child(2)::before {
  transition-delay:80ms
}

.approach-page #famille .mini-proof:nth-child(3)::before {
  transition-delay:160ms
}

.approach-page #famille .section-chapeau.reveal {
  transform:translateY(12px);
  transition:
    opacity 280ms cubic-bezier(.22, 1, .36, 1) 240ms,
    transform 280ms cubic-bezier(.22, 1, .36, 1) 240ms
}

.approach-page #famille .section-chapeau.reveal.visible {
  transform:translateY(0)
}

.approach-page #famille .mini-proof p {
  color:var(--gris-fort)
}

[dir=rtl] .approach-page #famille .mini-proof::before {
  transform-origin:right center
}

/* Oman destination page */
.oman-page {
  --oman-section:clamp(66px, 6vw, 96px)
}

.oman-hero {
  position:relative;
  min-height:100svh;
  display:grid;
  align-items:center;
  overflow:hidden;
  padding:0 48px;
  color:var(--ivoire)
}

.oman-hero picture,
.oman-hero__img,
.oman-hero__overlay {
  position:absolute;
  inset:0
}

.oman-hero__img {
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center center;
  filter:saturate(.92) contrast(.96) brightness(1.03)
}

.oman-hero__overlay {
  background:
    linear-gradient(90deg, rgba(31, 42, 46, .58), rgba(31, 42, 46, .18) 58%, rgba(31, 42, 46, .34)),
    linear-gradient(180deg, rgba(31, 42, 46, .08), rgba(31, 42, 46, .38));
  z-index:1
}

.oman-hero__content {
  position:relative;
  z-index:2;
  width:min(760px, 100%);
  padding-top:var(--header-h)
}

.oman-hero h1 {
  max-width:820px;
  margin-bottom:24px;
  color:var(--ivoire);
  font-size:clamp(52px, 7vw, 98px);
  line-height:.99
}

.oman-hero p {
  max-width:620px;
  margin-bottom:26px;
  color:rgba(250, 248, 244, .86);
  font-size:clamp(17px, 1.55vw, 22px);
  line-height:1.62
}

.oman-intro,
.oman-way,
.oman-experiences,
.oman-regions,
.oman-trace,
.oman-seasons,
.oman-local {
  background:var(--ivoire);
  padding-block:var(--oman-section)
}

.oman-three,
.oman-day,
.oman-route {
  background:linear-gradient(180deg, rgba(217, 199, 174, .2), var(--ivoire));
  padding-block:var(--oman-section)
}

.oman-split {
  display:grid;
  grid-template-columns:minmax(280px, .78fr) minmax(0, 1fr);
  gap:clamp(42px, 7vw, 88px);
  align-items:center
}

.oman-split.reverse {
  grid-template-columns:minmax(0, 1fr) minmax(280px, .78fr)
}

.oman-copy {
  max-width:680px
}

.oman-copy p {
  margin-bottom:16px;
  color:#554d46;
  font-size:16px;
  line-height:1.84
}

.oman-side-image {
  overflow:hidden;
  border:1px solid rgba(184, 144, 93, .2);
  background:var(--sable)
}

.oman-side-image img {
  width:100%;
  aspect-ratio:3 / 4.25;
  object-fit:cover
}

.oman-img-soft {
  filter:saturate(.9) contrast(.96) brightness(1.02)
}

.oman-img-muted {
  filter:saturate(.82) contrast(.94) brightness(.98)
}

.oman-img-warm {
  filter:saturate(.84) sepia(.06) contrast(.94) brightness(.98)
}

.oman-img-night {
  filter:saturate(.82) contrast(.92) brightness(1.08)
}

.oman-img-dhofar {
  filter:saturate(.88) hue-rotate(-3deg) contrast(.95) brightness(.98)
}

.oman-signature {
  max-width:760px;
  margin:22px auto 0;
  color:var(--noir);
  font-family:var(--font-serif);
  font-size:clamp(24px, 2.4vw, 34px);
  font-style:italic;
  font-weight:300;
  line-height:1.25;
  text-align:center
}

.oman-quote {
  margin-top:32px;
  padding-inline-start:26px;
  border-inline-start:1px solid var(--dore);
  color:var(--noir);
  font-family:var(--font-serif);
  font-size:clamp(27px, 3vw, 40px);
  font-style:italic;
  font-weight:300;
  line-height:1.18
}

.oman-three .section-title,
.oman-three .section-chapeau,
.oman-experiences .section-title,
.oman-experiences .section-chapeau,
.oman-regions .section-title,
.oman-regions .section-chapeau,
.oman-seasons .section-title,
.oman-seasons .section-chapeau,
.oman-trace .section-title,
.oman-trace .section-chapeau {
  margin-inline:auto;
  text-align:center
}

.oman-triptych {
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:18px;
  margin-top:clamp(32px, 4vw, 48px)
}

.oman-trip-card {
  position:relative;
  min-height:520px;
  overflow:hidden;
  display:flex;
  align-items:flex-end;
  background:var(--bleu-nuit);
  color:var(--ivoire);
  border-radius:12px
}

.oman-trip-card img {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform 600ms var(--ease-soft)
}

.oman-trip-card::after {
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg, rgba(31, 42, 46, .08), rgba(31, 42, 46, .74))
}

.oman-trip-card div {
  position:relative;
  z-index:1;
  padding:28px
}

.oman-trip-card h3,
.oman-card h3,
.oman-region h3,
.oman-proof-stack h3 {
  font-family:var(--font-serif);
  font-weight:300;
  line-height:1.12
}

.oman-trip-card h3 {
  color:var(--ivoire);
  font-size:clamp(26px, 2.6vw, 36px);
  margin-bottom:12px
}

.oman-trip-card p {
  color:rgba(250, 248, 244, .76);
  font-size:14.5px;
  line-height:1.7
}

.oman-editorial-list {
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:1px;
  margin-top:28px;
  background:rgba(184, 144, 93, .2)
}

.oman-editorial-list article {
  background:var(--ivoire);
  padding:30px
}

.oman-editorial-list h3 {
  margin-bottom:10px;
  color:var(--noir);
  font-family:var(--font-serif);
  font-size:28px;
  font-weight:300;
  line-height:1.1
}

.oman-editorial-list p {
  margin:0;
  color:#655d54;
  font-size:14.5px;
  line-height:1.7
}

.oman-card-grid {
  display:grid;
  gap:16px;
  margin-top:clamp(30px, 4vw, 46px)
}

.oman-card-grid.five {
  grid-template-columns:repeat(5, minmax(0, 1fr))
}

.oman-card-grid.three {
  grid-template-columns:repeat(3, minmax(0, 1fr))
}

.oman-experience-image {
  display:block;
  max-width:760px;
  margin:clamp(28px, 4vw, 42px) auto 0;
  overflow:hidden;
  border:1px solid rgba(184, 144, 93, .22);
  border-radius:12px;
  background:var(--sable)
}

.oman-experience-image img {
  width:100%;
  aspect-ratio:16 / 7;
  object-fit:cover;
  object-position:center 64%
}

.oman-card,
.oman-region,
.oman-proof-stack article {
  border:1px solid rgba(184, 144, 93, .22);
  background:rgba(255, 252, 246, .45);
  padding:26px;
  border-radius:12px
}

.oman-card h3,
.oman-region h3,
.oman-proof-stack h3 {
  margin-bottom:14px;
  color:var(--noir);
  font-size:clamp(24px, 2vw, 31px)
}

.oman-local .oman-proof-stack.three-up h3 {
  min-height:2.16em
}

.oman-card p,
.oman-region p,
.oman-proof-stack p {
  color:#61584f;
  font-size:14.5px;
  line-height:1.72
}

.oman-day__intro {
  display:grid;
  grid-template-columns:minmax(0, .9fr) minmax(0, 1fr);
  gap:clamp(34px, 6vw, 74px);
  align-items:start
}

.oman-day-grid {
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:1px;
  margin-top:36px;
  background:rgba(184, 144, 93, .24);
  border:1px solid rgba(184, 144, 93, .22)
}

.oman-day-grid article {
  position:relative;
  min-height:360px;
  overflow:hidden;
  padding:0;
  display:flex;
  align-items:flex-end;
  background:var(--bleu-nuit);
  color:var(--ivoire)
}

.oman-day-grid article::after {
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg, rgba(31, 42, 46, .08), rgba(31, 42, 46, .7))
}

.oman-day-grid article img {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover
}

.oman-day-grid article div {
  position:relative;
  z-index:1;
  padding:30px
}

.oman-day-grid span {
  display:block;
  margin-bottom:34px;
  color:var(--dore);
  font-size:12px;
  letter-spacing:.14em;
  text-transform:uppercase
}

.oman-day-grid p {
  color:var(--ivoire);
  font-family:var(--font-serif);
  font-size:clamp(25px, 2.5vw, 35px);
  font-weight:300;
  line-height:1.16
}

.oman-region-grid {
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:14px;
  margin-top:clamp(30px, 4vw, 46px)
}

.oman-region-grid.featured {
  grid-template-columns:repeat(4, minmax(0, 1fr))
}

.oman-region {
  min-height:0;
  display:flex;
  flex-direction:column;
  overflow:hidden;
  padding:0
}

.oman-region img {
  width:100%;
  height:230px;
  object-fit:cover;
  background:var(--sable)
}

.oman-region div {
  display:flex;
  flex:1;
  flex-direction:column;
  padding:24px
}

.oman-region p {
  margin-bottom:auto
}

.oman-region small {
  display:block;
  margin-top:14px;
  color:#736a61;
  font-size:12px;
  line-height:1.45
}

.oman-region small b {
  display:block;
  color:var(--dore);
  font-weight:500;
  letter-spacing:.08em;
  text-transform:uppercase
}

.oman-proof-stack {
  display:grid;
  gap:14px
}

.oman-proof-stack.three-up {
  grid-template-columns:repeat(3, minmax(0, 1fr));
  margin-top:clamp(28px, 4vw, 44px)
}

.oman-route-stack {
  align-self:start
}

.oman-route .oman-split {
  align-items:start
}

.oman-route-proof-grid {
  grid-column:1 / -1;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  margin-top:clamp(28px, 4vw, 42px)
}

.oman-story-image,
.oman-season-image {
  display:block;
  overflow:hidden;
  border:1px solid rgba(184, 144, 93, .22);
  border-radius:12px;
  background:var(--sable)
}

.oman-story-image img,
.oman-season-image img {
  width:100%;
  height:100%;
  object-fit:cover
}

.oman-route-stack .oman-story-image {
  width:min(100%, 420px);
  min-height:0;
  justify-self:end
}

.oman-route-stack .oman-story-image img {
  display:block;
  height:auto;
  aspect-ratio:4 / 5
}

.oman-season-image {
  max-width:1040px;
  margin:clamp(28px, 4vw, 42px) auto 0
}

.oman-season-image img {
  aspect-ratio:16 / 7
}

.oman-image-family img {
  object-position:center 45%
}

.oman-local-side {
  display:grid;
  gap:16px
}

.oman-local-side .oman-story-image {
  min-height:560px
}

.oman-local-side .oman-story-image img {
  aspect-ratio:3 / 4.6
}

.oman-image-caption {
  margin:0;
  color:var(--noir);
  font-family:var(--font-serif);
  font-size:clamp(24px, 2.2vw, 32px);
  font-style:italic;
  font-weight:300;
  line-height:1.2
}

.oman-respect {
  background:var(--bleu-nuit);
  padding-block:clamp(72px, 6vw, 88px);
  color:var(--ivoire)
}

.oman-respect .section-title {
  color:var(--ivoire)
}

.oman-respect__body {
  display:grid;
  grid-template-columns:minmax(0, .95fr) minmax(280px, .8fr);
  gap:clamp(36px, 6vw, 74px);
  align-items:start
}

.oman-respect .oman-copy p {
  color:var(--ivoire)
}

.oman-principles {
  list-style:none;
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  column-gap:clamp(28px, 4vw, 52px);
  row-gap:0;
  padding:0
}

.oman-principles li {
  padding:14px 0;
  border-top:1px solid rgba(250, 248, 244, .18);
  color:var(--dore);
  font-size:14px;
  font-weight:400
}

.oman-pause {
  position:relative;
  min-height:clamp(420px, 55vh, 640px);
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  padding:0
}

.oman-pause picture,
.oman-pause img {
  position:absolute;
  inset:0;
  width:100%;
  height:100%
}

.oman-pause img {
  object-fit:cover
}

.oman-pause::after {
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg, rgba(31, 42, 46, .15), rgba(31, 42, 46, .42))
}

.oman-pause blockquote {
  position:relative;
  z-index:1;
  max-width:640px;
  margin:0 32px;
  color:var(--ivoire);
  font-family:var(--font-serif);
  font-size:clamp(24px, 3vw, 38px);
  font-style:italic;
  font-weight:300;
  line-height:1.4;
  text-align:center
}

.oman-trace__name {
  margin:30px auto 24px;
  color:var(--dore);
  font-family:var(--font-sans);
  font-size:12px;
  font-weight:500;
  letter-spacing:.14em;
  text-align:center;
  text-transform:uppercase
}

.oman-timeline {
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:1px;
  border:1px solid rgba(184, 144, 93, .22);
  background:rgba(184, 144, 93, .22)
}

.oman-timeline article {
  min-height:250px;
  padding:28px;
  background:rgba(255, 252, 246, .5)
}

.oman-timeline span {
  display:block;
  margin-bottom:34px;
  color:rgba(184, 144, 93, .72);
  font-size:12px;
  letter-spacing:.14em
}

.oman-timeline h4 {
  min-height:2.16em;
  margin-bottom:12px;
  color:var(--noir);
  font-family:var(--font-serif);
  font-size:clamp(24px, 2.1vw, 32px);
  font-weight:300;
  line-height:1.08
}

.oman-timeline p,
.oman-note {
  color:#61584f;
  font-size:14.5px;
  line-height:1.72
}

.oman-note {
  max-width:680px;
  margin:24px auto 0;
  text-align:center;
  font-style:italic
}

.oman-local {
  background:linear-gradient(180deg, var(--ivoire), rgba(217, 199, 174, .22))
}

[dir=rtl] .oman-quote {
  border-inline-start:1px solid var(--dore);
  padding-inline-start:26px
}

@media(hover:hover) and (pointer:fine) {
  .oman-trip-card:hover img {
    transform:scale(1.035)
  }

  .oman-card,
  .oman-region,
  .oman-proof-stack article {
    transition:transform 220ms var(--ease-soft), border-color 220ms var(--ease-soft), background 220ms var(--ease-soft), color 220ms var(--ease-soft), box-shadow 220ms var(--ease-soft)
  }

  .oman-card:hover,
  .oman-region:hover,
  .oman-proof-stack article:hover {
    transform:translateY(-2px);
    border-color:rgba(234, 220, 198, .28);
    background:var(--bleu-nuit);
    box-shadow:0 18px 38px rgba(31, 42, 46, .14)
  }

  .oman-card:hover h3,
  .oman-region:hover h3,
  .oman-proof-stack article:hover h3 {
    color:var(--ivoire)
  }

  .oman-card:hover p,
  .oman-region:hover p,
  .oman-proof-stack article:hover p {
    color:rgba(246, 241, 232, .82)
  }
}

@media(max-width:1180px) {
  .oman-card-grid.five {
    grid-template-columns:repeat(3, minmax(0, 1fr))
  }

  .oman-region-grid,
  .oman-region-grid.featured {
    grid-template-columns:repeat(3, minmax(0, 1fr))
  }
}

@media(max-width:1024px) {
  .oman-triptych,
  .oman-card-grid.three,
  .oman-day-grid {
    grid-template-columns:1fr
  }

  .oman-trip-card {
    min-height:420px
  }

  .oman-region-grid,
  .oman-region-grid.featured,
  .oman-timeline {
    grid-template-columns:repeat(2, minmax(0, 1fr))
  }

  .oman-day__intro,
  .oman-respect__body {
    grid-template-columns:1fr
  }

  .oman-route-proof-grid {
    grid-template-columns:repeat(2, minmax(0, 1fr))
  }

  .oman-route-proof-grid article:last-child {
    grid-column:1 / -1
  }
}

@media(max-width:900px) {
  .oman-split,
  .oman-split.reverse {
    grid-template-columns:1fr
  }

  .oman-split.reverse .oman-side-image {
    order:-1
  }

  .oman-route-stack .oman-story-image {
    width:min(100%, 480px);
    justify-self:center
  }

  .oman-side-image img {
    aspect-ratio:4 / 3
  }

  .oman-card-grid.five {
    grid-template-columns:repeat(2, minmax(0, 1fr))
  }
}

@media(max-width:767px) {
  .oman-hero {
    min-height:min(720px, 92svh);
    padding:0 22px
  }

  .oman-hero__img {
    object-position:54% center
  }

  .oman-hero h1 {
    font-size:clamp(43px, 13vw, 58px)
  }

  .oman-intro,
  .oman-three,
  .oman-way,
  .oman-experiences,
  .oman-day,
  .oman-regions,
  .oman-route,
  .oman-respect,
  .oman-trace,
  .oman-seasons,
  .oman-local {
    padding:clamp(56px, 12vw, 72px) 22px
  }

  .oman-editorial-list,
  .oman-card-grid.five,
  .oman-route-proof-grid,
  .oman-region-grid,
  .oman-timeline {
    grid-template-columns:1fr
  }

  .oman-route-proof-grid article:last-child {
    grid-column:auto
  }

  .oman-respect {
    padding-block:clamp(46px, 11vw, 60px)
  }

  .oman-principles {
    grid-template-columns:1fr
  }

  .oman-timeline h4 {
    min-height:0
  }

  .oman-local .oman-proof-stack.three-up h3 {
    min-height:0
  }

  .oman-trip-card {
    min-height:360px
  }

  .oman-trip-card div,
  .oman-day-grid article,
  .oman-card,
  .oman-proof-stack article,
  .oman-timeline article {
    padding:24px
  }

  .oman-day-grid article {
    padding:0
  }

  .oman-region {
    min-height:0
  }

  .oman-region img {
    height:220px
  }

  .oman-day-grid article {
    min-height:190px
  }

  .oman-day-grid p {
    font-size:clamp(24px, 8vw, 31px)
  }

  .oman-proof-stack.three-up {
    grid-template-columns:1fr
  }

  .oman-season-image img {
    aspect-ratio:4 / 3
  }

  .oman-experience-image img {
    aspect-ratio:4 / 3;
    object-position:center 70%
  }

  .oman-local-side .oman-story-image {
    min-height:420px
  }
}

@media(max-width:390px) {
  .oman-hero h1 {
    font-size:40px
  }

  .oman-hero p,
  .oman-copy p {
    font-size:15.5px
  }

  .oman-quote {
    font-size:26px
  }
}

.approach-page #autre-maniere .approach-copy {
  max-width:580px
}

.approach-page #autre-maniere .approach-quote {
  margin-top:48px
}

.approach-page #autre-maniere .eyebrow {
  margin-bottom:14px
}

.approach-page #arbitrages .approach-arbitrage-grid {
  margin-top:26px
}

.approach-page #arbitrages .approach-arbitrage span {
  color:rgba(184, 144, 93, .72)
}

.approach-page #arbitrages .approach-arbitrage p {
  color:rgba(246, 241, 232, .84)
}

.approach-page #atelier .etape {
  transition:
    opacity 700ms ease,
    transform 700ms ease,
    background 260ms ease,
    border-color 260ms ease
}

.approach-page #atelier .etape.reveal {
  transform:translateY(18px)
}

.approach-page #atelier .etape.reveal.visible {
  transform:translateY(0);
  transition:
    opacity 700ms ease,
    transform 260ms cubic-bezier(.22, 1, .36, 1),
    background 260ms ease,
    border-color 260ms ease;
  transition-delay:0s, 0s, 0s, 0s
}

.approach-page #atelier .etape.reveal-delay-1 {
  transition-delay:80ms, 80ms, 0s, 0s
}

.approach-page #atelier .etape.reveal-delay-2 {
  transition-delay:160ms, 160ms, 0s, 0s
}

.approach-page #atelier .etape.reveal-delay-3 {
  transition-delay:240ms, 240ms, 0s, 0s
}

@media(hover:hover) and (pointer:fine) {
  .approach-page #arbitrages .approach-arbitrage {
    transition:
      background 280ms cubic-bezier(.22, 1, .36, 1),
      border-color 280ms cubic-bezier(.22, 1, .36, 1),
      transform 260ms cubic-bezier(.22, 1, .36, 1)
  }

  .approach-page #arbitrages .approach-arbitrage:hover {
    background:rgba(246, 241, 232, .06);
    border-color:rgba(246, 241, 232, .22);
    transform:translateY(-2px)
  }

  .approach-page #arbitrages .approach-arbitrage:hover span {
    color:rgba(184, 144, 93, .9)
  }

  .approach-page #arbitrages .approach-arbitrage:hover h3 {
    color:#F6F1E8
  }

  .approach-page #arbitrages .approach-arbitrage:hover p {
    color:rgba(246, 241, 232, .92)
  }

  .approach-page #atelier .etape:hover {
    background:#14212B;
    border-color:rgba(242, 235, 221, .24);
    transform:translateY(-2px)
  }

  .approach-page #atelier .etape.reveal.visible:hover {
    transform:translateY(-2px)
  }

  .approach-page #atelier .etape:hover .etape-num {
    color:rgba(242, 235, 221, .38)
  }

  .approach-page #atelier .etape:hover h3 {
    color:#F2EBDD
  }

  .approach-page #atelier .etape:hover p {
    color:rgba(242, 235, 221, .84)
  }
}

@media(hover:none), (pointer:coarse) {
  .approach-page #atelier .etape:hover {
    background:var(--ivoire);
    border-color:rgba(184, 144, 93, .28);
    transform:none
  }

  .approach-page #atelier .etape.reveal.visible:hover {
    transform:none
  }
}

@media(max-width:1024px) {
  .approach-page #famille .approach-benefits {
    margin-top:0
  }
}

@media(max-width:767px) {
  .approach-page .approach-hero {
    min-height:min(720px, 92svh)
  }

  .approach-page .approach-intro {
    padding-block:56px
  }

  .approach-page .approach-dune-pause .approach-wide-image {
    min-height:380px
  }

  .approach-page .approach-family-visual {
    min-height:440px;
    padding:48px 22px
  }

  .approach-page .approach-forest {
    min-height:360px
  }

  .approach-page .approach-change-inner {
    padding:clamp(56px, 10vw, 68px) 22px
  }

  .approach-page #famille .approach-change-inner {
    padding-block-end:56px
  }

  .cta-final--reference {
    padding:clamp(58px, 12vw, 72px) 22px 48px
  }

  .cta-final--reference .contact-actions {
    width:100%;
    min-width:0;
    grid-template-columns:minmax(0, 1fr)
  }

  .cta-final--reference .contact-panel {
    width:100%;
    min-width:0
  }

  .cta-final--reference .email-link {
    overflow-wrap:anywhere
  }
}

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

*, *::before, *::after {
  animation-duration:.001ms!important;
  animation-iteration-count:1!important;
  transition-duration:.001ms!important
}

.reveal {
  opacity:1;
  transform:none
}

.method-cta-arrow {
  transition:none
}

.method-cta-button:hover .method-cta-arrow {
  transform:none
}

.pourqui-cta__arrow {
  transition:none
}

.pourqui-cta:hover .pourqui-cta__arrow {
  transform:none
}

.stats-cta-arrow {
  transition:none
}

.stats-cta-link:hover .stats-cta-arrow {
  transform:none
}

.paris-proof__visual:hover,
.paris-proof__cta:hover {
  transform:none
}

.horizon-cta__arrow {
  transition:none
}

.horizon-cta:hover .horizon-cta__arrow {
  transform:none
}

.nawa-loader__mark {
  animation:none;
  opacity:1;
  transform:none
}

.nawa-loader, .nawa-loader__text {
  transition-duration:.01ms
}

.carnet-page-button,
.carnet-page-button img {
  transition:none;
  transform:none
}

.approach-page #famille .section-chapeau.reveal {
  opacity:1;
  transform:none;
  transition:none
}

.approach-page #famille .mini-proof::before {
  transform:scaleX(1);
  transition:none
}

.approach-page #atelier .etape.reveal {
  transform:none
}

.approach-page #arbitrages .approach-arbitrage:hover,
.approach-page #atelier .etape:hover,
.approach-page #atelier .etape.reveal.visible:hover {
  transform:none
}

}

.inner-page .site-header {
  background:rgba(246, 241, 232, .94);
  border-bottom-color:rgba(184, 144, 93, .22);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px)
}

.inner-page .brand-logo-dark {
  display:block
}

.inner-page .brand-logo-light {
  display:none
}

.inner-page .primary-nav a, .inner-page .menu-toggle {
  color:var(--gris-fort)
}

.oman-page.inner-page .site-header:not(.scrolled),
.approach-page.inner-page .site-header:not(.scrolled),
.inspirations-page.inner-page .site-header:not(.scrolled) {
  background:transparent;
  border-bottom-color:transparent;
  backdrop-filter:none;
  -webkit-backdrop-filter:none
}

.oman-page.inner-page .site-header:not(.scrolled) .brand-logo-light,
.approach-page.inner-page .site-header:not(.scrolled) .brand-logo-light,
.inspirations-page.inner-page .site-header:not(.scrolled) .brand-logo-light {
  display:block
}

.oman-page.inner-page .site-header:not(.scrolled) .brand-logo-dark,
.approach-page.inner-page .site-header:not(.scrolled) .brand-logo-dark,
.inspirations-page.inner-page .site-header:not(.scrolled) .brand-logo-dark {
  display:none
}

.oman-page.inner-page .site-header:not(.scrolled) .btn-header,
.approach-page.inner-page .site-header:not(.scrolled) .btn-header,
.inspirations-page.inner-page .site-header:not(.scrolled) .btn-header {
  color:rgba(250, 248, 244, .9);
  border-color:rgba(246, 241, 232, .38)
}

.btn-header  {
  
  background: rgba(246, 241, 232, 0.10);
  
  border-color: rgba(246, 241, 232, 0.42);
  
  color: rgba(255, 253, 247, 0.94);
  
  text-transform: none;
  
  letter-spacing: 0.04em;
  
  font-weight: 400;
  
  box-shadow: none;
}

.btn-header:hover  {
  
  background: rgba(246, 241, 232, 0.18);
  
  border-color: rgba(246, 241, 232, 0.68);
  
  color: #fffdf7;
  
  transform: translateY(-1px);
  
  box-shadow: none;
}

.site-header.scrolled .btn-header  {
  
  background: rgba(217, 199, 174, 0.22);
  
  border-color: rgba(184, 144, 93, 0.34);
  
  color: var(--noir);
}

.site-header.scrolled .btn-header:hover  {
  
  background: rgba(217, 199, 174, 0.38);
  
  border-color: rgba(184, 144, 93, 0.52);
  
  color: var(--noir);
}

.for-close  {
  
  max-width: 760px;
  
  margin: 0 auto 24px;
  
  text-align: center;
  
  color: #554d46;
  
  line-height: 1.75;
}

.why-final-line  {
  
  max-width: 680px;
  
  margin: 0 auto 22px;
  
  text-align: center;
  
  font-family: var(--font-serif);
  
  font-size: 21px;
  
  font-style: italic;
  
  line-height: 1.45;
  
  color: rgba(246, 241, 232, 0.84);
}
