@font-face{font-family:KlipskDisplay;src:url('/assets/klipsk-display.woff2') format('woff2');font-display:swap}
@font-face{font-family:Jakarta;src:url('/assets/plus-jakarta-regular.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:Jakarta;src:url('/assets/plus-jakarta-medium.woff2') format('woff2');font-weight:500;font-display:swap}
@font-face{font-family:Jakarta;src:url('/assets/plus-jakarta-semibold.woff2') format('woff2');font-weight:600;font-display:swap}
:root{--maya:#deedfc;--indigo:#19142e;--mineral:#fcfaf7;--gutter:clamp(20px,5.8564814815vw,84.3333333333px);--header:72px;color:var(--indigo);background:var(--maya);font-family:Jakarta,sans-serif;font-synthesis:none}
*{box-sizing:border-box}html{min-height:100%}body{margin:0;min-height:100svh;min-height:100dvh;background:var(--maya)}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer}a{color:inherit;text-decoration:none}p,h1,h2{margin:0}p{font-size:15px;line-height:23px}h1,h2{font-family:KlipskDisplay,serif;font-weight:400;text-wrap:balance}h1{font-size:40px;line-height:46px}h2{font-size:32px;line-height:36px}button:focus-visible,a:focus-visible,[tabindex]:focus-visible{outline:2px solid currentColor;outline-offset:5px}a:hover,button:hover{opacity:.78}.skip-link{position:fixed;top:12px;left:20px;padding:10px;background:var(--mineral);z-index:200;transform:translateY(-180%)}.skip-link:focus{transform:none}
.landing-header{position:fixed;inset:0 0 auto;height:var(--header);padding:0 32px;z-index:90;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;color:var(--indigo);background:transparent;transition:color 250ms linear}.desktop-navigation{display:flex;gap:28px;align-items:center;font-size:13px}.desktop-navigation button,.desktop-navigation>a{background:none;border:0;padding:10px 0;font-size:13px;min-height:44px}.desktop-navigation>a{display:flex;align-items:center}.desktop-navigation [aria-expanded=true]{text-decoration:underline;text-underline-offset:6px}.header-logo{grid-column:2;grid-row:1;line-height:0}.header-logo img{display:block;width:108px;height:auto;transition:filter 250ms linear}.header-contact{grid-column:3;grid-row:1;justify-self:end;font-size:13px;min-height:44px;display:flex;align-items:center}.mobile-menu-toggle{display:none}.landing-header.on-dark,.landing-header.contact-on-dark .header-contact,.landing-header.toggle-on-dark .mobile-menu-toggle{color:var(--mineral)}.landing-header.logo-on-dark .header-logo img{filter:brightness(0) invert(1)}.landing-header.menu-is-open{color:var(--indigo)}.landing-header.menu-is-open .header-logo img{filter:none}
.scene{position:relative;min-height:100svh;width:100%;isolation:isolate;padding:calc(var(--header) + 40px) var(--gutter) 64px;background:var(--maya)}.scene-copy{position:relative}.scene-media{position:absolute;inset:0;z-index:-1;display:block;width:100%;height:100%;min-height:100%;pointer-events:none}.scene-media img{width:100%;height:100%;object-fit:cover;object-position:center top;display:block}.immersive{display:flex;overflow-x:clip;align-items:safe flex-end;padding-bottom:48px;background:var(--mineral)}.hero-section{justify-content:center;overflow:hidden}.hero-copy{width:min(100%,740px);text-align:center}.category{max-width:600px;margin:0 auto 16px;font-size:14px;line-height:21px}.hero-copy h1{max-width:510px;margin:auto}.actions{display:flex;gap:24px;margin-top:24px;align-items:center}.hero-copy .actions,.contact-copy .actions{justify-content:center}.action{display:inline-flex;justify-content:center;align-items:center;min-height:46px;padding:10px 12px;min-width:220px;text-align:center;border:1px solid var(--indigo);font-size:13px;line-height:20px;transition:background-color 150ms,color 150ms}.action-primary{background:var(--indigo);color:var(--mineral)}.action-secondary{background:transparent;color:var(--indigo)}
.introduction{display:flex;align-items:flex-start;justify-content:center;padding-top:max(calc(var(--header) + 40px),345px)}.introduction-copy{width:100%;display:grid;grid-template-columns:minmax(0,654fr) minmax(0,480fr);gap:clamp(24px,9.537037037vw,137.3333333333px);align-items:start}.introduction-copy h2{max-width:654px;font-size:40px;line-height:46px}.introduction-paragraphs{max-width:480px}.introduction-paragraphs p{font-size:17px;line-height:27px}.introduction-paragraphs p+p{margin-top:24px}
.orientation{display:flex;align-items:safe center}.orientation-content{width:100%;display:grid;grid-template-columns:minmax(0,654fr) minmax(0,480fr);column-gap:clamp(24px,9.537037037vw,137.3333333333px);row-gap:52px}.orientation-content h2{grid-column:1;grid-row:1;text-align:left;margin:0;max-width:460px}.orientation-paragraph{grid-column:2;grid-row:1;max-width:480px;margin:0;text-align:left}.axis-nav{grid-column:1/-1;grid-row:2;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.offer-link{display:block;position:relative;min-width:0}.axis-thumbnail{display:block;width:100%;aspect-ratio:407.781/242.727}.axis-thumbnail img{display:block;width:100%;height:100%;object-fit:contain;object-position:center}.axis-nav .axis-thumbnail img{object-fit:cover}.offer-link>span{position:absolute;inset:auto 16px 16px;text-align:left;font-family:Jakarta,sans-serif;font-size:13px;line-height:20px}.offer-link:hover>span{text-decoration:underline;text-underline-offset:5px}
.service-copy,.culture-copy{width:480px;max-width:100%}.service-copy h2+p,.culture-copy h2+[data-culture-copy]{margin-top:24px}.service-copy p+p{margin-top:14px}.service-approche .service-copy p+p,.culture-copy .culture-state+.culture-state{margin-top:16px}.service-marque,.service-approche{justify-content:flex-end}.service-marque .service-copy{text-align:right;width:480px}.culture-state p{margin:0}
.contact-section{display:flex;flex-direction:column;padding-top:var(--header);padding-bottom:0}.contact-copy{text-align:center;margin:auto;width:min(100%,740px);padding:0}.contact-copy>p{max-width:640px;margin:24px auto 0}.footer-section:focus{outline-offset:-5px}.language-navigation{display:flex;gap:16px;font-size:12px;line-height:18px}.language-navigation a{display:inline-flex;align-items:center;min-height:44px}.language-navigation [aria-current]{text-decoration:underline;text-underline-offset:4px}
.has-scenes:not(.is-continuous) body{overflow:hidden}.has-scenes:not(.is-continuous) #content{position:fixed;inset:0;height:100dvh;isolation:isolate;perspective:1200px;transform-style:preserve-3d}.has-scenes:not(.is-continuous) .scene{position:absolute;inset:0;width:100%;height:100dvh;min-height:0;transform:translateY(100%);will-change:transform;overflow:hidden}.scene[hidden]{display:none}.has-scenes.is-continuous .scene{min-height:100svh;transform:none!important}.is-continuous .scene:focus{outline-offset:-5px}.has-scenes.is-continuous body{overflow:auto}.has-scenes.is-continuous #content{position:relative}.has-scenes.has-overlay body{overflow:hidden}.has-local-scroll .scene{overflow-y:auto!important;overscroll-behavior:contain;scrollbar-width:none}.has-local-scroll .scene::-webkit-scrollbar{display:none}
.landing-menu{position:fixed;inset:0;z-index:80;background:rgba(222,237,252,.35)}.landing-menu[hidden]{display:none}.menu-surface{padding:136px var(--gutter) 64px;background:var(--mineral);min-height:536px;max-height:100dvh;overflow-y:auto;overscroll-behavior:contain}.menu-grid{display:grid;grid-template-columns:repeat(3,minmax(0,308px));gap:32px;justify-content:start}.menu-grid .axis-thumbnail{aspect-ratio:308/300}.menu-grid .offer-link>span{font-size:13px;line-height:20px}.menu-languages{margin-top:40px}.menu-languages .language-navigation{justify-content:center}.menu-root,.menu-back{display:none}.landing-menu [hidden]{display:none!important}.menu-back{border:0;background:none;padding:0;font-size:13px;min-height:44px}.mobile-menu-toggle svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.2}.preference-modal{padding:0;border:0;max-width:none;max-height:none;margin:0;width:100%;height:100dvh;background:transparent}.preference-modal:not([open]){display:none}.preference-modal::backdrop{background:transparent}
html:not(.has-scenes) .desktop-navigation,html:not(.has-scenes) .mobile-menu-toggle{display:none}.fallback-navigation{position:relative;display:flex;flex-wrap:wrap;gap:24px;padding:88px 20px 20px;background:var(--mineral)}
@media(max-width:1023px){.menu-grid{gap:20px}.offer-link>span{font-size:13px;line-height:20px}}
@media(max-width:699px){:root{--header:60px;--gutter:20px}p{font-size:12px;line-height:18px}h1,h2{font-size:24px;line-height:27px}.landing-header{padding:0 20px}.header-logo img{width:104px}.desktop-navigation,.header-contact{display:none}.mobile-menu-toggle{display:flex;grid-column:1;grid-row:1;align-items:center;justify-content:flex-start;min-height:44px;width:44px;background:none;border:0;padding:0}.scene{padding-top:88px;padding-bottom:48px}.immersive{padding-bottom:32px}.hero-copy{max-width:480px}.hero-copy h1{max-width:none}.hero-copy .action{width:100%;min-height:44px}.hero-copy .actions{gap:12px}html[lang=fr] .hero-copy h1{letter-spacing:-.03em}.category{font-size:12px;line-height:18px;max-width:320px;margin-bottom:14px}.actions{flex-direction:column;gap:10px;margin-top:24px;align-items:center}.action{width:221px;max-width:100%;min-width:0;min-height:46px}.introduction{align-items:center;padding-top:88px}.introduction-copy{display:block;max-width:480px;text-align:center}.introduction-copy h2{font-size:24px;line-height:27px}.introduction-copy h2{margin:auto}.introduction-paragraphs{margin-top:28px}.introduction-paragraphs p{font-size:12px;line-height:18px}.orientation-content{display:block}.orientation-content h2{text-align:center;max-width:320px;margin:0 auto 32px}.axis-nav{display:flex;flex-direction:column;gap:20px}.axis-nav .axis-thumbnail{aspect-ratio:350/144}.axis-nav .axis-thumbnail[data-media="marque"] img,.axis-nav .axis-thumbnail[data-media="ventes"] img{object-position:center top}.offer-link>span{inset:auto 12px 12px;font-size:12px;line-height:18px}.orientation-paragraph{text-align:left;margin-top:32px}.service-copy,.service-marque .service-copy,.service-ventes .service-copy,.culture-copy{width:100%;max-width:480px;margin-inline:auto;text-align:left}.service-copy h2+p,.culture-copy h2+[data-culture-copy]{margin-top:16px}.service-copy p+p{margin-top:14px}.service-approche .service-copy h2+p{margin-top:24px}.service-approche .service-copy p+p{margin-top:16px}.culture-copy h2{min-height:54px}.culture-copy .culture-state+.culture-state{margin-top:14px}.culture-is-sequenced [data-culture-copy]{display:grid;min-height:90px}.culture-is-sequenced .culture-state{grid-area:1/1;margin-top:0!important}.culture-is-sequenced .culture-state[hidden]{display:block;visibility:hidden}.contact-section{padding-top:var(--header);padding-bottom:0}.contact-copy{padding:0}.contact-copy>p{margin-top:20px}.contact-copy .actions{margin-top:22px}.contact-copy .action{width:100%;min-height:44px}.menu-surface{height:100dvh;min-height:0;padding:104px 20px 40px}.menu-root{display:flex;flex:1;flex-direction:column;gap:14px;text-align:center}.menu-root button,.menu-root>a{font-family:Jakarta,sans-serif;background:none;border:0;padding:0;text-align:center;min-height:44px;flex-shrink:0}.menu-root button,.menu-root>.menu-primary-link{display:flex;align-items:flex-start;justify-content:center;font-size:22px;line-height:30px;font-weight:500}.menu-root>a:not(.menu-primary-link){font-size:15px;line-height:44px;font-weight:400;margin-top:auto}.menu-root .language-navigation{margin-top:12px}.menu-grid{display:flex;flex-direction:column;gap:8px}.menu-grid .axis-thumbnail{display:none}.menu-grid .offer-link{display:flex;align-items:center;min-height:64px;font-family:Jakarta,sans-serif;font-size:18px;line-height:26px;font-weight:500;text-align:left}.menu-grid .offer-link>span{position:static;font-size:inherit;line-height:inherit}.menu-back{display:block;margin-bottom:24px;font-size:18px;line-height:44px;font-weight:500;text-align:center}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;scroll-behavior:auto!important}}
/* Native reading keeps the illustration behind the whole responsive section. */
.is-continuous .immersive{display:flex;align-items:safe flex-end;height:auto;min-height:100svh}.is-continuous .immersive .scene-copy{margin-top:0}.is-continuous .hero-copy{margin-inline:auto}

/* Even in the short landscape fallback, the hero remains one opening composition. */
.is-continuous .hero-section{display:flex;align-items:safe flex-end;min-height:100dvh;padding-top:calc(var(--header) + 16px);padding-bottom:20px}
.is-continuous .hero-section .scene-media{position:absolute;inset:0;z-index:-1;width:100%;height:100%;margin:0;aspect-ratio:auto}
.is-continuous .hero-section .hero-copy{margin-top:0}

@media(min-width:700px){
  html[lang=fr] .hero-copy h1{max-width:740px}
  .service-collection .service-copy h2+p,.service-marque .service-copy h2+p,.service-ventes .service-copy h2+p{margin-top:20px}
  .menu-grid .axis-thumbnail img{object-fit:cover}
  .menu-grid .offer-link>span{inset:auto 20px 18px;min-height:64px;display:flex;align-items:center;padding-right:28px;font-size:18px;line-height:25px;font-weight:500}
  .menu-grid .offer-link>span::after{content:'';position:absolute;right:4px;top:27px;width:10px;height:10px;border-top:1px solid;border-right:1px solid;transform:rotate(45deg)}
}
@media(min-width:700px) and (max-width:799px){html[lang=fr] .hero-copy h1{font-size:clamp(36px,5vw,40px);line-height:1.15}}

/* The received first mobile level has two primary entries and a lower contact/language group. */
@media(max-width:699px){
  .menu-surface:has(.menu-root.menu-group-visible){padding-top:clamp(104px,19.9052dvh,168px);padding-bottom:clamp(40px,14.218dvh,120px)}
  .menu-surface:has(.menu-root.menu-group-visible) .menu-languages{margin-top:14px;padding-top:0}
  .menu-languages .language-navigation a{font-size:15px;line-height:44px;font-weight:500}
}

/* Artwork copy keeps its outer anchors independently of editorial width caps. */
@media(min-width:700px){
  .immersive{--gutter:clamp(20px,5.8564814815vw,84.3333333333px)}
}

/* The received wide-screen composition keeps its 1440 px content envelope. */
@media(max-width:699px){.has-scenes:not(.is-continuous) #content{perspective:none;transform-style:flat}}
#motion-check{position:fixed;z-index:150;bottom:12px;left:12px;right:12px;max-width:460px;background:var(--mineral);color:var(--indigo);border:1px solid;padding:12px;font:12px/18px Jakarta,sans-serif;box-shadow:0 2px 12px #0002}
#motion-check p{font:inherit;margin:8px 0}#motion-check button{border:1px solid;background:transparent;padding:6px 12px;min-height:44px}
@media(min-width:1440px){
  :root{--gutter:calc((100vw - 1271.3333333333px)/2)}
  .orientation-content{grid-template-columns:654px 480px;column-gap:0;justify-content:space-between}
  .axis-nav .axis-thumbnail{height:242.727px;aspect-ratio:auto}
}
/* Introduction keeps the same 345px anchor on short and tall desktop viewports. */
@media(min-width:700px){
  .introduction-copy{
    max-width:1030.667px;margin-inline:auto;
    grid-template-columns:minmax(0,533.667fr) minmax(0,480fr);
    column-gap:17px;justify-content:normal;
  }
  .introduction-copy h2{max-width:533.667px}
}

/* The right-hand actions cannot move the header's independently centered logo. */
.header-actions{
  display:none;grid-column:3;grid-row:1;justify-self:end;
  align-items:center;gap:20px;min-width:0;
}
.header-languages{gap:8px;align-items:center;font-size:12px;line-height:18px}
.header-languages a{justify-content:center;min-width:24px;min-height:44px}
.landing-header.contact-on-dark .header-actions{color:var(--mineral)}
.landing-header.menu-is-open .header-actions,
.landing-header.menu-is-open .header-contact{color:var(--indigo)}
@media(min-width:700px){
  .landing-header:has(.header-actions){grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)}
  .header-actions{display:flex}
  .landing-header:has(.header-actions) ~ .landing-menu .menu-languages{display:none}
}

/* Mobile cards shorten around the title's original position after fonts are ready. */
@media(max-width:699px){
  #services{--orientation-label-alpha:.58;--orientation-label-rise:12px}
  #services .axis-nav .offer-link>span{
    --orientation-label-inset:12px;
    z-index:1;isolation:isolate;
  }
  #services .axis-nav .offer-link>span::before{
    content:"";position:absolute;pointer-events:none;z-index:-1;
    top:calc(-1 * var(--orientation-label-rise));
    right:calc(-1 * var(--orientation-label-inset));
    bottom:calc(-1 * var(--orientation-label-inset));
    left:calc(-1 * var(--orientation-label-inset));
    background:linear-gradient(to bottom,
      rgb(252 250 247 / 0) 0,
      rgb(252 250 247 / var(--orientation-label-alpha)) var(--orientation-label-rise),
      rgb(252 250 247 / var(--orientation-label-alpha)) 100%);
  }
  html:not(.is-continuous) #services[data-orientation-ready]:not([hidden]){
    display:block;padding-top:var(--orientation-title-top);padding-bottom:32px;
  }
  html:not(.is-continuous) #services[data-orientation-ready]:not([hidden]) .axis-thumbnail{
    height:var(--orientation-card-height);aspect-ratio:auto;
  }
  html:not(.is-continuous) #services[data-orientation-ready]:not([hidden]) .orientation-paragraph{
    margin-top:var(--orientation-paragraph-gap);
  }
}

/* The footer owns native reading; auto margins center only when its content fits. */
#footer{
  min-block-size:100dvh;padding-block:calc(var(--header) + 32px) 32px;
  background:var(--mineral);overflow-x:clip;overflow-y:auto;overscroll-behavior-y:contain;
}
#footer:not([hidden]){display:flex;flex-direction:column;align-items:center}
#footer>.landing-footer{
  display:grid;flex:0 0 auto;inline-size:100%;max-inline-size:1271.3333333333px;
  margin-block:auto;margin-inline:0;align-items:start;row-gap:24px;
  grid-template-columns:minmax(0,1fr);justify-items:center;text-align:center;
}
#footer>.landing-footer>nav{
  display:flex;min-inline-size:0;margin:0;padding:0;flex-flow:row wrap;
  align-items:center;justify-content:center;column-gap:32px;row-gap:8px;
}
#footer>.landing-footer>nav:first-of-type{font-size:14px;line-height:20px}
#footer>.landing-footer>nav:nth-of-type(2){font-size:12px;line-height:18px}
#footer>.landing-footer>nav>a{
  display:inline-flex;align-items:center;min-block-size:44px;max-inline-size:100%;
  font-size:inherit;line-height:inherit;
}
#footer>.landing-footer>p{
  grid-column:1/-1;margin:0;font-size:11px;line-height:18px;
  justify-self:center;text-align:center;
}
@media(max-width:479px){#footer>.landing-footer>nav:nth-of-type(2){flex-direction:column;row-gap:0}}
@media(max-height:480px){#footer{padding-block:calc(var(--header) + 24px) 24px}}
.has-scenes.is-continuous .contact-section{min-height:100dvh}
