@layer reset, tokens, base, layout, components, pages, utilities;
@layer components{.section > p.large, .large{max-width: 30ch;font-family: var(--font-display);font-size: clamp(1.5rem, 1.1rem + 1.7vw, 2.6rem);line-height: 1.2;letter-spacing: -0.025em;color: var(--fg);font-weight: 500;text-wrap: balance}.section-narrow > p.large{max-width: 38ch;font-size: clamp(1.3rem, 1rem + 0.9vw, 1.75rem);font-weight: 400;line-height: 1.35;letter-spacing: -0.015em}@media (min-width: 1100px){.section-narrow > p.large{max-width: 46ch}}.accordion-item{border-bottom: 1px solid var(--line)}.accordion-btn{display: flex;align-items: center;justify-content: space-between;gap: var(--s-5);min-height: 4rem;padding: var(--s-4) 0;cursor: pointer;list-style: none;font-family: var(--font-display);font-size: var(--t-h4);font-weight: 500;letter-spacing: -0.015em;line-height: 1.3}.accordion-btn::-webkit-details-marker{display: none}.accordion-btn:hover{color: var(--accent)}.accordion-plus{position: relative;flex-shrink: 0;width: 2.5rem;height: 2.5rem;border-radius: 50%;border: 1.5px solid var(--line-strong);transition: background var(--t-fast), border-color var(--t-fast), transform var(--t-med) var(--ease)}.accordion-plus::before, .accordion-plus::after{content: "";position: absolute;inset: 50% auto auto 50%;width: 0.9rem;height: 1.5px;background: currentColor;translate: -50% -50%;transition: transform var(--t-med) var(--ease)}.accordion-plus::after{transform: rotate(90deg)}.accordion-item[open] .accordion-plus{background: var(--fg);border-color: var(--fg);color: var(--bg);transform: rotate(180deg)}.section-dark .accordion-item[open] .accordion-plus{background: var(--dark-fg);border-color: var(--dark-fg);color: var(--dark-bg)}.accordion-item[open] .accordion-plus::after{transform: rotate(0deg)}.accordion-panel{padding: 0 3.5rem var(--s-5) 0;color: var(--fg-muted);max-width: 62ch}.accordion-item[open] .accordion-panel{animation: mv-fondu var(--dur-3) var(--ease-out)}}
@layer pages{.tr-plis[open] .accordion-plus{background: var(--fg);border-color: var(--fg);color: var(--bg);transform: rotate(180deg)}.tr-plis[open] .accordion-plus::after{transform: rotate(0deg)}.sr-left{display: grid;gap: var(--s-5);align-content: start}.sr-left::before{content: counter(ligne, decimal-leading-zero);font-family: var(--font-display);font-size: var(--t-xs);font-weight: 600;letter-spacing: 0.14em;color: var(--dark-muted)}.sr-left h2{font-size: clamp(1.9rem, 1.3rem + 2.2vw, 3.25rem);max-width: 15ch}.sr-left h2 .accent{color: var(--tone-glow, var(--rose-lumiere));display: block;font-weight: 500}.sr-icon{order: -1;display: grid;place-items: center;width: 3.5rem;height: 3.5rem;border-radius: 50%;background: var(--tone, var(--magenta));color: #fff}.sr-icon.tone-craie{color: var(--ink);background: var(--sable)}.shift-page--histoire .sr-left::before{content: none}.shift-page--histoire .sr-icon{display: none}.sr-icon svg{width: 55%;height: 55%}.sr-right{display: grid;gap: var(--s-4);align-content: start;max-width: 62ch;color: var(--dark-muted);font-size: var(--t-lead);line-height: 1.6}.sr-right strong{color: var(--dark-fg)}.sr-right ul{display: grid;gap: var(--s-2);padding-left: 1.25rem}.sr-right li::marker{color: var(--tone-glow, var(--rose-lumiere))}.sr-tag{justify-self: start;display: inline-flex;align-items: center;gap: 0.5rem;padding: 0.35rem 0.9rem;border-radius: var(--r-pill);border: 1px solid var(--dark-line);font-size: var(--t-xs);font-weight: 600;color: var(--dark-fg)}.sr-tag::before{content: "";width: 0.5rem;height: 0.5rem;border-radius: 50%;background: var(--tone-glow, var(--rose-lumiere))}.shift-page .sr-cta{color: var(--dark-fg);justify-self: start;font-size: var(--t-base)}@media (min-width: 960px){.sr-left{position: sticky;top: calc(var(--header-h) + 2rem);align-self: start}}.history-quote{max-width: 30ch;margin: 0 0 var(--s-8);font-family: var(--font-display);font-size: clamp(1.5rem, 1.1rem + 1.6vw, 2.4rem);line-height: 1.25;letter-spacing: -0.02em;font-weight: 500}}
@layer pages{.pg-more{margin-top: var(--s-5)}.pg-more a{display: inline-flex;align-items: center;gap: 0.4rem;min-height: 2.75rem;font-weight: 600;color: var(--fg);text-underline-offset: 0.25em}.pg-more a svg{flex: none;width: 1rem;height: 1rem}.pg-dossier{list-style: none;display: grid;gap: var(--s-2)}.pg-dossier li{position: relative;padding-left: 1.9rem;line-height: 1.5}.pg-dossier li::before{content: "";position: absolute;left: 0.15rem;top: 0.2em;width: 1.05rem;height: 1.05rem;border-radius: 0.3rem;border: 2px solid var(--vert)}.pg-dossier li::after{content: "";position: absolute;left: 0.5rem;top: 0.38em;width: 0.3rem;height: 0.55rem;border: solid var(--vert);border-width: 0 2px 2px 0;transform: rotate(45deg)}.pg-cta{display: grid;gap: var(--s-6);margin: 0 var(--pad-x) var(--section-y);padding: clamp(2rem, 1.5rem + 3vw, 4.5rem);border-radius: var(--r-xl);background: var(--rouge);color: #fff;position: relative;overflow: hidden;isolation: isolate}.pg-cta::after{content: "";position: absolute;z-index: -1;inset: -20% -10% -20% 60%;background: repeating-linear-gradient(90deg, rgba(255, 255, 255, 0.14) 0 14px, transparent 14px 26px);transform: skewX(-12deg)}.pg-cta-head h2{color: #fff;max-width: 20ch;font-size: clamp(1.9rem, 1.3rem + 2.4vw, 3.25rem)}.pg-cta-head p{margin-top: var(--s-3);color: rgba(255, 255, 255, 0.92);font-size: var(--t-lead);max-width: 52ch}.pg-cta-head a{color: #fff;font-weight: 600}.platforms{list-style: none;display: grid;gap: var(--s-3);grid-template-columns: repeat(auto-fit, minmax(min(100%, 18rem), 1fr))}.platform{display: grid;gap: var(--s-3);align-content: start;justify-items: start;padding: var(--s-5);border-radius: var(--r-lg);background: var(--surface);color: var(--fg)}.platform p{color: var(--fg-muted);font-size: var(--t-sm);line-height: 1.6}@media (min-width: 1000px){.page-partners .pg-cta{grid-template-columns: 1.3fr 1fr;align-items: center}}}
@layer pages{@media (max-width: 759.98px){.cr-group[open] > .cr-group-sum .accordion-plus{background: var(--fg);border-color: var(--fg);color: var(--bg);transform: rotate(180deg)}.cr-group[open] > .cr-group-sum .accordion-plus::after{transform: rotate(0deg)}}}
@layer pages{.rc-block{display: grid;gap: var(--s-6);padding: var(--section-y) var(--pad-x);background: var(--bg-alt);border-top: 1px solid var(--line)}.rc-head{display: grid;gap: var(--s-2);max-width: 46rem}.rc-head h2{font-size: var(--t-h2);letter-spacing: var(--track-tight);line-height: 1.05}.rc-intro{color: var(--fg-muted);font-size: var(--t-lead);line-height: 1.5}.rc-cards{list-style: none;display: grid;gap: var(--s-3);grid-template-columns: repeat(auto-fill, minmax(min(100%, 21rem), 1fr))}@media (min-width: 760px){.rc-cards:has(> :nth-child(4):last-child){grid-template-columns: repeat(2, minmax(0, 1fr))}}@media (min-width: 1800px){.rc-cards:has(> :nth-child(4):last-child){grid-template-columns: repeat(4, minmax(0, 1fr))}}.rc-card{display: grid}.rc-card-link{display: grid;grid-template-columns: 4.5rem minmax(0, 1fr) auto;gap: var(--s-4);align-items: center;padding: var(--s-4);border-radius: var(--r-lg);background: var(--surface);border: 1px solid var(--line);color: var(--fg);text-decoration: none;transition: border-color var(--t-fast), box-shadow var(--t-fast)}.rc-card-link:hover{border-color: var(--line-strong);box-shadow: var(--shadow-2)}.rc-card-link:focus-visible{outline: 3px solid var(--focus);outline-offset: 3px}.rc-card-art{display: block;aspect-ratio: 500 / 580;border-radius: var(--r-md);overflow: hidden;background: #0B0F13}.rc-card-art img{width: 100%;height: 100%;object-fit: cover}.rc-card-body{display: grid;gap: 0.35rem;justify-items: start;min-width: 0}.rc-card-title{font-family: var(--font-display);font-size: var(--t-h4);font-weight: 600;letter-spacing: -0.02em;line-height: 1.2}.rc-card-meta{display: flex;flex-wrap: wrap;gap: 0.25rem var(--s-3);font-size: var(--t-sm);color: var(--fg-muted)}.rc-card-meta > span{display: inline-flex;align-items: center;gap: 0.35rem}.rc-card-meta svg{width: 1rem;height: 1rem;flex: none}.rc-card-go{display: grid;place-items: center;width: 2.5rem;height: 2.5rem;border-radius: 50%;border: 1.5px solid var(--line-strong)}.rc-card-go svg{width: 1rem;height: 1rem}.rc-card-link:hover .rc-card-go{border-color: var(--fg)}@media (max-width: 479.98px){.rc-card-link{grid-template-columns: 3.5rem minmax(0, 1fr)}.rc-card-go{display: none}}.rc-actions{display: flex;flex-wrap: wrap;align-items: center;gap: var(--s-3) var(--s-4)}.rc-all{display: inline-flex;align-items: center;gap: 0.4rem;min-height: 2.75rem;font-weight: 600;color: var(--fg);text-underline-offset: 0.2em}.rc-all:hover{text-decoration-thickness: 2px}}
@layer pages{.hx svg{display: block;overflow: hidden}.hx :is(path[pathLength], use){fill: none;stroke-linecap: round;stroke-linejoin: round}.hx--thematiques path{stroke: var(--hx-jour);stroke-width: 12px;stroke-linejoin: round}.page-hero > .hx{position: relative;order: -1;overflow: hidden;height: clamp(10.5rem, 42vw, 17rem);margin: calc(-1 * var(--s-8)) calc(-1 * var(--pad-x)) var(--s-2)}.page-hero > .hx svg{position: absolute;left: 0;top: var(--hx-my);width: 100%;height: auto;aspect-ratio: 5 / 4;translate: 0 calc(-1 * var(--hx-my))}.hx--qui{--hx-my: 46%}.hx--action{--hx-my: 62%}.hx--contact{--hx-my: 62%}.hx--impliquer{--hx-my: 52%}.hx--laboratoire{--hx-my: 38%}.hx--actualites{--hx-my: 78%}.hx--lettre{--hx-my: 58%}.hx--publier{--hx-my: 66%}.hx--pistes{--hx-my: 80%}@media (min-width: 1100px){.page-hero > .hx{position: absolute;z-index: -1;order: 0;margin: 0;height: auto;inset: 0 0 0 calc(var(--pad-x) + (100% - 2 * var(--pad-x)) * 0.56 + var(--s-7))}.page-hero > .hx svg{position: static;width: 100%;height: 100%;aspect-ratio: auto;translate: none}.page-hero:has(> .hx) > :is(.breadcrumb, .page-hero-eyebrow, .lead, .pt-hero-text, p, div:not(.hx)){max-width: 56%}.page-hero:has(> .hx) > h1{max-width: min(18ch, 56%)}.page-hero:has(> .hx){align-content: start}.page-hero:has(> .hx) > .lead{max-width: min(56ch, 56%)}}.hx--actualites{--hx-pas: 45ms;--hx-amp: 56px}.hx--ou{--hx-pas: 40ms;--hx-amp: 90px}.hx--plan{--hx-pas: 70ms;--hx-amp: 90px}.hx--thematiques{--hx-pas: 70ms;--hx-amp: 70px}.hx--contact, .hx--lettre, .hx--laboratoire{--hx-pas: 70ms}.hx--impliquer{--hx-pas: 90ms}.hx--publier{--hx-pas: 90ms;--hx-amp: 90px}}
@media (forced-colors: active){.hx{display: none}}
@layer utilities{@media (prefers-reduced-motion: no-preference){.mv-suite .hx{--hx-depart: calc(var(--dur-3) + 80ms)}.hx :is(.a-gx, .a-gy, .a-s, .a-t, .a-r){transform-box: fill-box;animation-duration: calc(var(--dur-4) + var(--dur-1));animation-timing-function: var(--ease-out);animation-fill-mode: both;animation-delay: calc(var(--hx-depart) + var(--i, 0) * var(--hx-pas))}.hx .a-gx{animation-name: hx-gx}.hx .a-gy{animation-name: hx-gy}.hx .a-s{animation-name: hx-glisse}.hx :is(.a-t, .a-r){animation-duration: calc(var(--dur-4) + var(--dur-3))}.hx .a-t{animation-name: hx-trace;stroke-dasharray: 1 2}.hx .a-r{animation-name: hx-eventail;animation-delay: var(--hx-depart);transform-box: view-box;transform-origin: 60px 780px}.hx .ol{transform-origin: left center}.hx .or{transform-origin: right center}.hx .ot{transform-origin: center top}.hx .ob{transform-origin: center bottom}.hx .dl{--hx-dx: calc(-1 * var(--hx-amp))}.hx .dr{--hx-dx: var(--hx-amp)}.hx .dt{--hx-dy: calc(-1 * var(--hx-amp))}.hx .db{--hx-dy: var(--hx-amp)}.hx .i1{--i: 1}.hx .i2{--i: 2}.hx .i3{--i: 3}.hx .i4{--i: 4}.hx .i5{--i: 5}.hx .i6{--i: 6}.hx .i7{--i: 7}.hx .i8{--i: 8}.hx .i9{--i: 9}.hx .i10{--i: 10}.hx .i11{--i: 11}.hx .i12{--i: 12}.hx .i13{--i: 13}.hx .i14{--i: 14}.hx .i15{--i: 15}@supports (animation-timeline: view()){.hx{view-timeline: --hx-vue block;animation: hx-recul linear both;animation-timeline: view();animation-range: exit 0% exit 100%}.hx .p1{animation: hx-plan-1 linear both;animation-timeline: --hx-vue;animation-range: exit 0% exit 100%}.hx .p2{animation: hx-plan-2 linear both;animation-timeline: --hx-vue;animation-range: exit 0% exit 100%}}}@media (prefers-reduced-motion: reduce){.hx svg *{animation: none !important}.hx > svg{animation: hx-fondu 200ms var(--ease-out) both !important}}}
@keyframes hx-eventail{from{rotate: calc(var(--i, 0) * 8deg);}}
@keyframes hx-fondu{from{opacity: 0;}}
@keyframes hx-recul{to{opacity: 0.6;}}
@keyframes hx-plan-1{to{translate: 0 -32px;}}
@keyframes hx-plan-2{to{translate: 0 -12px;}}
@layer pages{.ak-hero > .hx{--hx-jour: var(--bg-alt);grid-column: 1 / -1;position: relative;overflow: hidden;height: clamp(10.5rem, 42vw, 17rem);margin: calc(-1 * var(--s-8)) calc(-1 * var(--pad-x)) 0}.ak-hero > .hx svg{position: absolute;left: 0;top: 50%;width: 100%;height: auto;aspect-ratio: 5 / 4;translate: 0 -50%}@media (max-width: 599.98px){.ak-hero > .hx{margin-top: calc(-1 * var(--s-6))}}@media (min-width: 1100px){.ak-hero > .hx{display: none}}}
@layer pages{.lab-hero-art.hx > svg{position: absolute;inset: 0;width: 100%;height: 100%}.pp-visual > .hx, .pp-visual > .hx > svg{display: block;width: 100%;height: 100%}@media (max-width: 1099.98px){.page-hero > .hx--ou svg{left: 50%;top: 50%;width: auto;height: 108%;translate: -36% -50%;overflow: visible}.page-hero > .hx--contact{--hx-my: 79%;height: clamp(10.5rem, 48vw, 21rem)}.page-hero > .hx--terrain{--hx-my: 68%;height: clamp(12.5rem, 66vw, 24rem)}}@media (min-width: 1100px){.page-hero > .hx--qui svg{width: 116%;max-width: none}}@media (max-width: 1099.98px){.lab-hero-art.hx > svg{inset: 0 auto;left: 50%;width: auto;aspect-ratio: 500 / 580;translate: -50% 0}}.hx path.bt{stroke-linecap: butt}.hx[class*="hx--emb-"]{--hx-pas: 70ms;--hx-amp: 60px}}
@layer utilities{@media (prefers-reduced-motion: no-preference){.hx--emb-boussole-sud .a-r{transform-origin: 250px 300px}}}
@layer pages{.ip-hero > .hx{--hx-pas: 45ms}.ip-hero--impact > .hx{--hx-my: 50%}.ip-hero--presse > .hx{--hx-my: 30%;--hx-amp: 40px;--hx-pas: 60ms}.ip-hero--faq > .hx{--hx-my: 50%;--hx-pas: 70ms}@media (max-width: 1099.98px){.ip-hero.page-hero > .hx{height: clamp(12.5rem, 60vw, 24rem)}}.ip-usage .pg-dossier a{color: var(--fg);font-weight: 600;overflow-wrap: anywhere}.ip-faq .accordion-panel a{color: var(--fg);font-weight: 600}}
