/* d-motion · feuille de style du site officiel
   Charte : orange d-motion et blanc, verre liquide, une seule famille (Figtree).
   Plan : une colonne de 1240 px, sections aérées, la capsule de verre comme fil conducteur. */

@font-face {
  font-family: "Figtree";
  src: url("data:font/woff2;base64,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") format("woff2");
  font-weight: 300 900;
  font-style: normal;
  font-display: swap;
}

:root {
  /* couleurs */
  --orange: #FF6A0A;          /* orange d-motion : logo, aplats, bouton principal (texte encre) */
  --orange-deep: #C24100;     /* orange braise : liens et petits textes orange sur blanc et porcelaine (≥ 4,7:1), anneau de focus */
  --orange-soft: #FFE8D9;     /* teinte claire : états sélectionnés, pastilles */
  --peach: #FFF5EE;           /* fond teinté léger */
  --white: #FFFFFF;
  --porcelain: #F5F5F7;       /* fond de section alterné */
  --ink: #1A1412;             /* texte, lettres du logo */
  --ink-2: #5F5954;           /* texte secondaire (6,9:1 sur blanc) */
  --ink-3: #8C857F;           /* légendes non essentielles */
  --line: rgba(26, 20, 18, .10);
  --line-2: rgba(26, 20, 18, .16);
  --night: #0E0B0A;           /* salle de projection */
  --night-2: #1B1614;
  --on-night: #F7F3F0;
  --on-night-2: #B8AEA7;
  --wa: #25D366;

  /* typographie */
  --font: "Figtree", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --fs-display: clamp(46px, 6.7vw, 104px);
  --fs-h1: clamp(40px, 5.6vw, 84px);
  --fs-h2: clamp(32px, 4.1vw, 60px);
  --fs-h3: clamp(23px, 2.1vw, 31px);
  --fs-h4: 20px;
  --fs-lead: clamp(18px, 1.55vw, 22px);
  --fs-body: 17px;
  --fs-small: 14.5px;
  --fs-label: 13px;

  /* espacements (base 4) */
  --s1: 4px; --s2: 8px; --s3: 12px; --s4: 16px; --s5: 20px; --s6: 24px; --s8: 32px;
  --s10: 40px; --s12: 48px; --s16: 64px; --s20: 80px; --s24: 96px; --s32: 128px; --s40: 160px;
  --gutter: max(20px, 4vw);
  --maxw: 1240px;

  /* rayons */
  --r-xs: 10px; --r-sm: 14px; --r-md: 20px; --r-lg: 28px; --r-xl: 36px; --r-pill: 999px;

  /* ombres */
  --sh-1: 0 1px 2px rgba(26, 20, 18, .05), 0 2px 8px rgba(26, 20, 18, .05);
  --sh-2: 0 14px 34px -14px rgba(26, 20, 18, .22), 0 3px 8px -3px rgba(26, 20, 18, .08);
  --sh-3: 0 30px 70px -28px rgba(26, 20, 18, .34), 0 8px 18px -8px rgba(26, 20, 18, .12);
  --glow: 0 14px 30px -12px rgba(255, 106, 10, .65);

  /* mouvement */
  --ease-out: cubic-bezier(.16, 1, .3, 1);
  --ease-io: cubic-bezier(.65, 0, .35, 1);
  --spring: linear(0, .0089 1.1%, .0346 2.2%, .1358 4.6%, .5248 12.4%, .6889 16.6%, .8027 20.8%, .8854 25.4%, .9394 30.4%, .9719 35.8%, .9894 41.7%, 1.001 51.6%, 1.0039 63.5%, 1);
  --t-fast: 160ms; --t-ui: 260ms; --t-panel: 440ms; --t-reveal: 900ms;

  /* verre */
  --glass-bg: rgba(255, 255, 255, .58);
  --glass-bg-strong: rgba(255, 255, 255, .78);
  --glass-edge: inset 0 1px .5px rgba(255, 255, 255, .95), inset 0 -1px 1px rgba(255, 255, 255, .4), inset 0 0 0 1px rgba(255, 255, 255, .45), 0 0 0 .5px rgba(26, 20, 18, .09);
  --glass-blur: blur(22px) saturate(185%);

  color-scheme: light;
}

/* ---------- base ---------- */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; scroll-padding-top: 110px; }
html, body { overflow-x: clip; }
body {
  margin: 0; background: var(--white); color: var(--ink);
  font-family: var(--font); font-size: var(--fs-body); line-height: 1.55; font-weight: 420;
  -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; text-rendering: optimizeLegibility;
  overflow-x: clip;
}
img, video, canvas, svg { display: block; max-width: 100%; }
img, video { height: auto; }
a { color: inherit; text-decoration-thickness: .08em; text-underline-offset: .22em; }
button { font: inherit; color: inherit; }
h1, h2, h3, h4, p, ul, ol, figure, blockquote, dl, dd { margin: 0; }
ul[role="list"], ol[role="list"] { list-style: none; padding: 0; }
::selection { background: var(--orange); color: var(--ink); }
:focus-visible { outline: 2.5px solid var(--orange-deep); outline-offset: 3px; border-radius: 6px; }
.nuit :focus-visible { outline-color: var(--orange); }
html { scrollbar-color: rgba(26, 20, 18, .28) transparent; }
.sr-only { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.skip { position: fixed; left: 16px; top: -60px; z-index: 100; background: var(--ink); color: #fff; padding: 10px 16px; border-radius: var(--r-pill); text-decoration: none; transition: top var(--t-ui) var(--ease-out); }
.skip:focus { top: 16px; }
.tnum { font-variant-numeric: tabular-nums; }

/* ---------- typographie ---------- */
.display, .h1, .h2, .h3, .h4 { font-weight: 700; text-wrap: balance; }
.display { font-size: var(--fs-display); line-height: .95; letter-spacing: -.048em; font-weight: 720; }
.h1 { font-size: var(--fs-h1); line-height: 1; letter-spacing: -.042em; }
.h2 { font-size: var(--fs-h2); line-height: 1.04; letter-spacing: -.036em; font-weight: 690; }
.h3 { font-size: var(--fs-h3); line-height: 1.15; letter-spacing: -.022em; font-weight: 660; }
.h4 { font-size: var(--fs-h4); line-height: 1.3; letter-spacing: -.012em; font-weight: 640; }
.lead { font-size: var(--fs-lead); line-height: 1.45; letter-spacing: -.01em; color: var(--ink-2); font-weight: 440; text-wrap: pretty; }
.small { font-size: var(--fs-small); line-height: 1.45; }
.muted { color: var(--ink-2); }
.label { font-size: var(--fs-label); font-weight: 620; letter-spacing: .01em; color: var(--ink-2); }
.orange-t { color: var(--orange-deep); }
.prose p + p { margin-top: 1em; }
.prose { max-width: 64ch; }

/* ---------- mise en page ---------- */
.wrap { width: 100%; max-width: calc(var(--maxw) + 2 * var(--gutter)); margin-inline: auto; padding-left: max(var(--gutter), env(safe-area-inset-left, 0px)); padding-right: max(var(--gutter), env(safe-area-inset-right, 0px)); }
.section { padding-block: clamp(80px, 11vw, 160px); position: relative; }
.section--tight { padding-block: clamp(56px, 7vw, 96px); }
.section--porcelain { background: var(--porcelain); }
.section--peach { background: var(--peach); }
.stack > * + * { margin-top: var(--s6); }
.stack-s > * + * { margin-top: var(--s3); }
.stack-l > * + * { margin-top: var(--s10); }
.sec-head { display: grid; gap: var(--s5); max-width: 860px; margin-bottom: clamp(40px, 5vw, 72px); }
.sec-head--split { max-width: none; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); align-items: end; gap: var(--s8) var(--s16); }
@media (max-width: 860px) { .sec-head--split { grid-template-columns: 1fr; } }
.grid { display: grid; gap: var(--s6); }
.g2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.g3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.g4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
@media (max-width: 1020px) { .g4 { grid-template-columns: repeat(2, minmax(0, 1fr)); } .g3 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 640px) { .g2, .g3, .g4 { grid-template-columns: 1fr; } }

/* ---------- boutons ---------- */
.btn {
  --h: 52px;
  position: relative; display: inline-flex; align-items: center; justify-content: center; gap: 10px;
  height: var(--h); padding: 0 24px; border-radius: var(--r-pill); border: 0; cursor: pointer;
  font-size: 16.5px; font-weight: 650; letter-spacing: -.005em; text-decoration: none; white-space: nowrap;
  transition: transform var(--t-fast) var(--ease-out), background-color var(--t-ui) var(--ease-out), box-shadow var(--t-ui) var(--ease-out), color var(--t-ui);
  -webkit-tap-highlight-color: transparent; isolation: isolate;
}
.btn svg { width: 19px; height: 19px; flex: none; }
.btn:active { transform: scale(.97); transition-duration: 80ms; }
.btn--primary { background: var(--orange); color: var(--ink); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .45), inset 0 -2px 4px rgba(170, 50, 0, .22), var(--glow); }
.btn--primary::after { content: ""; position: absolute; inset: 1px 1px 50% 1px; border-radius: inherit; background: linear-gradient(rgba(255, 255, 255, .34), rgba(255, 255, 255, 0)); pointer-events: none; z-index: -1; }
.btn--primary:hover { background: #FF7A22; box-shadow: inset 0 1px 0 rgba(255, 255, 255, .5), inset 0 -2px 4px rgba(170, 50, 0, .2), 0 18px 36px -12px rgba(255, 106, 10, .75); }
.btn--ink { background: var(--ink); color: #fff; }
.btn--ink:hover { background: #2C2420; }
.btn--glass { color: var(--ink); background: var(--glass-bg); box-shadow: var(--glass-edge), var(--sh-1); -webkit-backdrop-filter: var(--glass-blur); backdrop-filter: var(--glass-blur); }
.btn--glass:hover { background: rgba(255, 255, 255, .8); }
.lg-refract .btn--glass.lg-on, .lg-refract .glass.lg-on { -webkit-backdrop-filter: var(--lg-filter) blur(.5px) saturate(170%); backdrop-filter: var(--lg-filter) saturate(170%); }
.nuit .btn--glass { color: var(--on-night); background: rgba(255, 255, 255, .1); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .22), inset 0 0 0 1px rgba(255, 255, 255, .14); }
.nuit .btn--glass:hover { background: rgba(255, 255, 255, .18); }
.btn--s { --h: 42px; padding: 0 18px; font-size: 15px; }
.btn--l { --h: 58px; padding: 0 30px; font-size: 17.5px; }
.btn .wa { color: #128C4A; }
.btn--primary .wa { color: var(--ink); }
.actions { display: flex; flex-wrap: wrap; gap: var(--s3); align-items: center; }

.link { display: inline-flex; align-items: center; gap: 8px; font-weight: 640; color: var(--ink); text-decoration: none; }
.link svg { width: 18px; height: 18px; transition: transform var(--t-ui) var(--ease-out); }
.link:hover svg { transform: translateX(4px); }
.link span { background: linear-gradient(currentColor, currentColor) 0 100% / 0 1.5px no-repeat; transition: background-size var(--t-panel) var(--ease-out); padding-bottom: 2px; }
.link:hover span { background-size: 100% 1.5px; }
.link--orange { color: var(--orange-deep); }

/* ---------- puces ---------- */
.chip { justify-self: start; display: inline-flex; align-items: center; gap: 6px; height: 30px; padding: 0 12px; border-radius: var(--r-pill); font-size: 13.5px; font-weight: 600; background: var(--porcelain); color: var(--ink); white-space: nowrap; }
.chip--glass { background: rgba(255, 255, 255, .7); box-shadow: var(--glass-edge); -webkit-backdrop-filter: var(--glass-blur); backdrop-filter: var(--glass-blur); }
.chip--orange { background: var(--orange-soft); color: #8A3000; }
.chip--night { background: rgba(255, 255, 255, .12); color: var(--on-night); }
.chip .dot { width: 7px; height: 7px; border-radius: 50%; background: var(--orange); }
.chips { display: flex; flex-wrap: wrap; gap: 8px; }
.concept { font: 600 11.5px/1 ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace; letter-spacing: .04em; }

/* ---------- en-tête : capsule de verre flottante ---------- */
.top { position: fixed; z-index: 50; top: calc(14px + env(safe-area-inset-top, 0px)); left: 0; right: 0; pointer-events: none; }
.nav {
  pointer-events: auto; margin-inline: auto; width: min(calc(100% - 2 * var(--gutter)), 1080px);
  display: flex; align-items: center; gap: var(--s4); height: 64px; padding: 0 10px 0 22px; border-radius: var(--r-pill);
  background: var(--glass-bg); box-shadow: var(--glass-edge), 0 18px 40px -22px rgba(26, 20, 18, .35);
  -webkit-backdrop-filter: var(--glass-blur); backdrop-filter: var(--glass-blur);
  transition: background-color var(--t-panel) var(--ease-out), box-shadow var(--t-panel) var(--ease-out), transform var(--t-panel) var(--ease-out);
}
.lg-refract .nav.lg-on { -webkit-backdrop-filter: var(--lg-filter) blur(1.5px) saturate(190%) brightness(1.04); backdrop-filter: var(--lg-filter) blur(1.5px) saturate(190%) brightness(1.04); background: rgba(255, 255, 255, .46); }
.nav__logo { display: block; flex: none; line-height: 0; border-radius: 8px; }
.nav__logo img, .nav__logo svg { height: 24px; width: auto; }
.nav__links { display: flex; gap: 2px; margin: 0 auto; padding: 0; list-style: none; }
.nav__links a { display: block; padding: 9px 15px; border-radius: var(--r-pill); font-size: 15.5px; font-weight: 560; text-decoration: none; color: var(--ink); transition: background-color var(--t-ui) var(--ease-out); }
.nav__links a:hover { background: rgba(26, 20, 18, .06); }
.nav__links a[aria-current="page"] { background: rgba(255, 255, 255, .85); box-shadow: 0 1px 2px rgba(26, 20, 18, .08), inset 0 0 0 .5px rgba(26, 20, 18, .06); }
.nav__end { display: flex; align-items: center; gap: 8px; flex: none; }
.lang { display: inline-flex; align-items: center; height: 40px; padding: 0 12px; border-radius: var(--r-pill); font-size: 13.5px; font-weight: 650; text-decoration: none; color: var(--ink-2); }
.lang:hover { color: var(--ink); background: rgba(26, 20, 18, .06); }
.menu-btn { display: none; width: 46px; height: 46px; border-radius: 50%; border: 0; background: rgba(26, 20, 18, .06); cursor: pointer; align-items: center; justify-content: center; }
.menu-btn span { position: relative; width: 18px; height: 2px; background: var(--ink); border-radius: 2px; transition: transform var(--t-ui) var(--ease-out), background-color var(--t-fast); }
.menu-btn span::before, .menu-btn span::after { content: ""; position: absolute; left: 0; width: 18px; height: 2px; background: var(--ink); border-radius: 2px; transition: transform var(--t-ui) var(--ease-out); }
.menu-btn span::before { transform: translateY(-6px); } .menu-btn span::after { transform: translateY(6px); }
.menu-open .menu-btn span { background: transparent; }
.menu-open .menu-btn span::before { transform: rotate(45deg); } .menu-open .menu-btn span::after { transform: rotate(-45deg); }
.scrolled .nav { box-shadow: var(--glass-edge), 0 22px 44px -24px rgba(26, 20, 18, .45); }

/* menu plein écran (téléphone) */
.sheet { position: fixed; inset: 0; z-index: 45; display: grid; align-content: start; padding: calc(104px + env(safe-area-inset-top, 0px)) var(--gutter) calc(32px + env(safe-area-inset-bottom, 0px)); background: rgba(255, 255, 255, .72); -webkit-backdrop-filter: blur(30px) saturate(180%); backdrop-filter: blur(30px) saturate(180%); opacity: 0; visibility: hidden; transition: opacity var(--t-panel) var(--ease-out), visibility 0s linear var(--t-panel); }
.menu-open .sheet { opacity: 1; visibility: visible; transition: opacity var(--t-panel) var(--ease-out); }
.sheet ul { list-style: none; padding: 0; margin: 0; display: grid; gap: 2px; }
.sheet a.big { display: block; padding: 10px 4px; font-size: 38px; font-weight: 690; letter-spacing: -.035em; text-decoration: none; transform: translateY(14px); opacity: 0; transition: transform var(--t-panel) var(--ease-out), opacity var(--t-panel) var(--ease-out); }
.menu-open .sheet a.big { transform: none; opacity: 1; }
.menu-open .sheet li:nth-child(2) a.big { transition-delay: 30ms; } .menu-open .sheet li:nth-child(3) a.big { transition-delay: 60ms; } .menu-open .sheet li:nth-child(4) a.big { transition-delay: 90ms; } .menu-open .sheet li:nth-child(5) a.big { transition-delay: 120ms; }
.sheet .actions { margin-top: var(--s10); }
@media (max-width: 960px) {
  .nav__links, .nav .btn--cta, .nav .lang { display: none; }
  .menu-btn { display: inline-flex; }
  .nav { height: 58px; padding-left: 20px; justify-content: space-between; }
}
@media (min-width: 961px) { .sheet { display: none; } }

/* ---------- héros des pages ---------- */
.hero { position: relative; padding-top: calc(150px + env(safe-area-inset-top, 0px)); padding-bottom: clamp(56px, 8vw, 110px); }
.hero__grid { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); gap: var(--s10); align-items: center; }
.hero__text { display: grid; gap: var(--s6); }
.hero__text .lead { max-width: 560px; }
@media (max-width: 900px) { .hero__grid { grid-template-columns: 1fr; } .hero { padding-top: calc(120px + env(safe-area-inset-top, 0px)); } }
.crumbs { display: flex; flex-wrap: wrap; gap: 6px; font-size: 14px; color: var(--ink-2); }
.crumbs a { text-decoration: none; color: var(--ink-2); }
.crumbs a:hover { color: var(--ink); }
.crumbs span[aria-hidden] { color: var(--ink-3); }

/* halo : la lumière orange d-motion, toujours ancrée à un bord */
.halo-box { position: absolute; inset: 0; overflow: hidden; pointer-events: none; z-index: -1; }
.hero, .section { isolation: isolate; }
.halo { position: absolute; pointer-events: none; inset: auto; width: 70vmax; height: 70vmax; border-radius: 50%; background: radial-gradient(closest-side, rgba(255, 106, 10, .30), rgba(255, 140, 70, .12) 45%, rgba(255, 106, 10, 0) 72%); filter: blur(10px); }
.halo--tr { top: -38vmax; right: -30vmax; }
.halo--bl { bottom: -42vmax; left: -34vmax; }
.halo--b { bottom: -52vmax; left: 50%; transform: translateX(-50%); }

/* scène de la capsule */
.capsule-stage { position: relative; aspect-ratio: 5 / 4; width: 100%; }
.capsule-stage canvas { position: absolute; inset: 0; width: 100%; height: 100%; }
.capsule-stage .cap-poster { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; opacity: 1; transition: opacity 600ms var(--ease-out); }
.capsule-stage.cap-live .cap-poster { opacity: 0; }
.cap-fallback .cap-poster { opacity: 1 !important; }

/* ---------- accueil : monde de la capsule ---------- */
.monde { position: relative; }
.monde__stage { position: sticky; top: 0; height: 100vh; height: 100svh; overflow: hidden; z-index: 0; }
.monde__stage canvas { position: absolute; inset: 0; width: 100%; height: 100%; }
.monde__stage .cap-poster { position: absolute; right: 2vw; top: 50%; transform: translateY(-46%); width: min(56vw, 760px); height: auto; opacity: 0; transition: opacity 500ms; }
.monde__stage.cap-fallback .cap-poster { opacity: 1; }
.monde__chapters { position: relative; z-index: 1; margin-top: -100vh; margin-top: -100svh; }
.chap { min-height: 100vh; min-height: 100svh; display: grid; align-items: center; }
.chap__inner { width: min(540px, 42vw); display: grid; gap: var(--s5); }
.chap--hero .chap__inner { width: min(700px, 52vw); gap: var(--s6); }
.chap__num { display: flex; align-items: center; gap: 10px; font-size: 14px; font-weight: 640; color: var(--ink-2); }
.chap__num b { display: inline-grid; place-items: center; min-width: 30px; height: 30px; padding: 0 9px; border-radius: var(--r-pill); background: var(--orange-soft); color: #8A3000; font-size: 13px; font-weight: 700; font-variant-numeric: tabular-nums; }
.chap .chips { margin-top: var(--s2); }
.scroll-cue { display: inline-flex; align-items: center; gap: 10px; font-size: 14px; font-weight: 600; color: var(--ink-2); margin-top: var(--s8); }
.scroll-cue i { width: 22px; height: 34px; border-radius: 12px; box-shadow: inset 0 0 0 1.5px var(--line-2); position: relative; }
.scroll-cue i::after { content: ""; position: absolute; left: 50%; top: 7px; width: 4px; height: 7px; margin-left: -2px; border-radius: 2px; background: var(--orange); animation: cue 1.8s var(--ease-io) infinite; }
@keyframes cue { 0% { transform: translateY(0); opacity: 0 } 25% { opacity: 1 } 80% { transform: translateY(11px); opacity: 0 } 100% { opacity: 0 } }
.monde__progress { position: fixed; z-index: 30; right: max(18px, 2vw); top: 50%; transform: translateY(-50%); display: grid; gap: 10px; transition: opacity var(--t-panel); }
.monde__progress button { width: 9px; height: 9px; padding: 0; border: 0; border-radius: 50%; background: rgba(26, 20, 18, .18); cursor: pointer; transition: background-color var(--t-ui), transform var(--t-ui) var(--ease-out); position: relative; }
.monde__progress button::before { content: ""; position: absolute; inset: -10px; }
.monde__progress button[aria-current="true"] { background: var(--orange); transform: scale(1.5); }
.monde__progress.is-hidden { opacity: 0; pointer-events: none; }
@media (max-width: 900px) {
  .monde__stage canvas { top: 0; height: 56%; }
  .monde__stage .cap-poster { top: 6vh; right: 50%; transform: translateX(50%); width: 92vw; }
  .chap { align-items: end; padding-bottom: calc(5vh + 84px); }
  .chap__inner, .chap--hero .chap__inner { width: 100%; padding: 22px 22px 24px; border-radius: var(--r-lg); background: rgba(255, 255, 255, .74); box-shadow: var(--glass-edge), var(--sh-2); -webkit-backdrop-filter: blur(24px) saturate(180%); backdrop-filter: blur(24px) saturate(180%); }
  .chap--hero { align-items: end; }
  .chap--hero .chap__inner { background: rgba(255, 255, 255, .8); }
  .monde__progress { display: none; }
  .scroll-cue { display: none; }
}

/* ---------- salle de projection (vidéos) ---------- */
.nuit { background: var(--night); color: var(--on-night); }
.nuit .lead, .nuit .muted, .nuit .label { color: var(--on-night-2); }
.nuit .link { color: var(--on-night); }
.reel { position: relative; border-radius: var(--r-xl); overflow: hidden; background: #000; aspect-ratio: 16 / 9; box-shadow: 0 40px 90px -40px rgba(255, 106, 10, .45); }
.reel video, .reel img { width: 100%; height: 100%; object-fit: cover; }
.reel__play { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); }
.reel__play .btn { --h: 64px; padding: 0 28px; }

/* rangée de vidéos verticales */
.rail { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(220px, 260px); gap: var(--s5); overflow-x: auto; overscroll-behavior-x: contain; scroll-snap-type: x mandatory; padding: 8px var(--gutter) 28px; margin-inline: calc(-1 * var(--gutter)); scrollbar-width: none; }
.rail::-webkit-scrollbar { display: none; }
.rail > * { scroll-snap-align: start; }
.rail-ctrl { display: flex; gap: 8px; }
.rail-ctrl button { width: 44px; height: 44px; border-radius: 50%; border: 0; cursor: pointer; display: grid; place-items: center; background: rgba(255, 255, 255, .1); color: var(--on-night); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .14); transition: background-color var(--t-ui); }
.rail-ctrl button:hover { background: rgba(255, 255, 255, .2); }
.rail-ctrl svg { width: 18px; height: 18px; }

/* carte de réalisation */
.work { position: relative; display: grid; gap: 12px; text-decoration: none; color: inherit; cursor: pointer; border: 0; padding: 0; background: none; text-align: left; }
.work__media { position: relative; overflow: hidden; border-radius: var(--r-lg); background: var(--night-2); aspect-ratio: 9 / 16; isolation: isolate; box-shadow: var(--sh-1); transform: translateZ(0); }
.work--l .work__media { aspect-ratio: 16 / 9; }
.work--a .work__media { aspect-ratio: 4 / 5; background: var(--porcelain); }
.work__media img, .work__media video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform 900ms var(--ease-out), opacity var(--t-panel); }
.work__media video { opacity: 0; }
.work.is-playing .work__media video { opacity: 1; }
.work:hover .work__media img { transform: scale(1.035); }
.work__tag { position: absolute; left: 12px; top: 12px; z-index: 2; }
.work__play { position: absolute; right: 12px; bottom: 12px; z-index: 2; width: 44px; height: 44px; border-radius: 50%; display: grid; place-items: center; background: rgba(255, 255, 255, .22); color: #fff; box-shadow: inset 0 1px 0 rgba(255, 255, 255, .45), inset 0 0 0 1px rgba(255, 255, 255, .25); -webkit-backdrop-filter: blur(14px) saturate(180%); backdrop-filter: blur(14px) saturate(180%); transition: transform var(--t-ui) var(--ease-out), background-color var(--t-ui); }
.work__play svg { width: 16px; height: 16px; margin-left: 2px; }
.work:hover .work__play { transform: scale(1.08); background: var(--orange); color: var(--ink); }
.work__title { font-size: 17px; font-weight: 650; letter-spacing: -.012em; line-height: 1.25; }
.work__sub { font-size: 14px; color: var(--ink-2); margin-top: 2px; }
.nuit .work__sub { color: var(--on-night-2); }
.work__concept { position: absolute; right: 12px; top: 14px; z-index: 2; color: rgba(255, 255, 255, .85); font: 600 11px/1 ui-monospace, Menlo, Consolas, monospace; letter-spacing: .05em; text-shadow: 0 1px 6px rgba(0, 0, 0, .5); }

/* ---------- sites : maquettes d'appareils en verre ---------- */
.device { position: relative; }
.laptop { position: relative; border-radius: 18px; padding: 10px; background: linear-gradient(180deg, rgba(255, 255, 255, .9), rgba(240, 236, 233, .78)); box-shadow: var(--glass-edge), var(--sh-3); }
.laptop__bar { display: flex; gap: 6px; padding: 4px 6px 10px; }
.laptop__bar i { width: 9px; height: 9px; border-radius: 50%; background: rgba(26, 20, 18, .14); }
.laptop__bar i:first-child { background: var(--orange); }
.laptop__screen { border-radius: 10px; overflow: hidden; aspect-ratio: 16 / 10; background: var(--porcelain); }
.laptop__screen img { width: 100%; height: 100%; object-fit: cover; object-position: top; }
.phone { position: absolute; width: 27%; right: -4%; bottom: -10%; border-radius: 30px; padding: 7px; background: linear-gradient(180deg, #2a2320, #120e0c); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .12), var(--sh-3); }
.phone__screen { border-radius: 24px; overflow: hidden; aspect-ratio: 9 / 19.5; background: #fff; }
.phone__screen img { width: 100%; height: 100%; object-fit: cover; object-position: top; }
.site-card { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); gap: clamp(32px, 5vw, 80px); align-items: center; text-decoration: none; color: inherit; }
.site-card + .site-card { margin-top: clamp(72px, 9vw, 128px); }
.site-card:nth-child(even) .device { order: 2; }
.site-card .device { padding-right: 6%; padding-bottom: 6%; }
.site-card__meta { display: grid; gap: var(--s4); }
@media (max-width: 900px) { .site-card { grid-template-columns: 1fr; } .site-card:nth-child(even) .device { order: 0; } }
.facts { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: var(--s4) var(--s6); padding-top: var(--s5); border-top: 1px solid var(--line); }
.facts dt { font-size: 13.5px; color: var(--ink-2); font-weight: 560; }
.facts dd { font-size: 16px; font-weight: 620; margin-top: 2px; }

/* ---------- cartes de services ---------- */
.svc { position: relative; display: grid; grid-template-rows: auto 1fr auto; gap: var(--s4); padding: 28px 28px 26px; border-radius: var(--r-xl); background: var(--white); text-decoration: none; color: inherit; overflow: hidden; box-shadow: inset 0 0 0 1px var(--line); transition: box-shadow var(--t-panel) var(--ease-out), transform var(--t-panel) var(--ease-out); isolation: isolate; }
.section--porcelain .svc { box-shadow: var(--sh-1); }
.svc:hover { transform: translateY(-4px); box-shadow: var(--sh-2); }
.svc__art { width: 100%; aspect-ratio: 5 / 4; margin: -8px 0 -4px; position: relative; }
.svc__art img { position: absolute; inset: -6% -8%; width: 116%; height: 112%; max-width: none; object-fit: contain; transition: transform 1.1s var(--ease-out); }
.svc:hover .svc__art img { transform: translateY(-6px) rotate(-2deg) scale(1.03); }
.svc .h3 { font-size: clamp(22px, 1.8vw, 26px); }
.svc p { color: var(--ink-2); font-size: 15.5px; line-height: 1.5; }
.svc .link { margin-top: var(--s2); }

/* ---------- étapes ---------- */
.steps { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--s4); counter-reset: s; }
@media (max-width: 1020px) { .steps { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 600px) { .steps { grid-template-columns: 1fr; } }
.step { position: relative; padding: 26px 24px 28px; border-radius: var(--r-lg); background: var(--white); box-shadow: inset 0 0 0 1px var(--line); display: grid; gap: var(--s3); align-content: start; }
.section--porcelain .step { box-shadow: var(--sh-1); }
.step__n { width: 40px; height: 40px; border-radius: 50%; display: grid; place-items: center; font-weight: 720; font-size: 16px; color: var(--ink); background: var(--orange); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .5), var(--glow); font-variant-numeric: tabular-nums; }
.step p { color: var(--ink-2); font-size: 15.5px; }

/* ---------- listes ---------- */
.ticks { list-style: none; padding: 0; display: grid; gap: 14px; }
.ticks li { display: grid; grid-template-columns: 26px 1fr; gap: 12px; align-items: start; font-size: 17px; }
.ticks li::before { content: ""; width: 26px; height: 26px; border-radius: 50%; background: var(--orange-soft) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23C24100' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 12.5l4 4 8-9'/%3E%3C/svg%3E") center / 15px no-repeat; margin-top: 1px; }
.ticks--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px 32px; }
@media (max-width: 700px) { .ticks--2 { grid-template-columns: 1fr; } }

.spec { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: var(--s4); }
.spec__item { padding: 22px 22px 24px; border-radius: var(--r-lg); background: var(--white); box-shadow: inset 0 0 0 1px var(--line); display: grid; gap: 6px; }
.section--porcelain .spec__item { box-shadow: var(--sh-1); }
.spec__k { font-size: 28px; font-weight: 720; letter-spacing: -.035em; font-variant-numeric: tabular-nums; }
.spec__v { font-size: 15px; color: var(--ink-2); }

/* ---------- FAQ ---------- */
.faq { display: grid; gap: 10px; max-width: 880px; }
.faq details { border-radius: var(--r-lg); background: var(--white); box-shadow: inset 0 0 0 1px var(--line); overflow: hidden; }
.section--porcelain .faq details { box-shadow: var(--sh-1); }
.faq summary { list-style: none; cursor: pointer; display: flex; justify-content: space-between; align-items: center; gap: 20px; padding: 22px 26px; font-size: 18px; font-weight: 640; letter-spacing: -.012em; }
.faq summary::-webkit-details-marker { display: none; }
.faq summary i { flex: none; width: 30px; height: 30px; border-radius: 50%; background: var(--porcelain); position: relative; transition: transform var(--t-panel) var(--ease-out), background-color var(--t-ui); }
.faq summary i::before, .faq summary i::after { content: ""; position: absolute; left: 50%; top: 50%; width: 12px; height: 2px; margin: -1px 0 0 -6px; border-radius: 2px; background: var(--ink); }
.faq summary i::after { transform: rotate(90deg); transition: transform var(--t-panel) var(--ease-out); }
.faq details[open] summary i { background: var(--orange); }
.faq details[open] summary i::after { transform: rotate(0); }
.faq .ans { padding: 0 26px 24px; color: var(--ink-2); max-width: 70ch; }
.faq details::details-content { block-size: 0; overflow: clip; transition: block-size var(--t-panel) var(--ease-out), content-visibility var(--t-panel) allow-discrete; }
.faq details[open]::details-content { block-size: auto; }
@supports (interpolate-size: allow-keywords) { :root { interpolate-size: allow-keywords; } }

/* ---------- appel à l'action ---------- */
.cta { position: relative; overflow: hidden; border-radius: clamp(28px, 4vw, 48px); padding: clamp(40px, 7vw, 96px) clamp(24px, 6vw, 88px); background: var(--orange); color: var(--ink); isolation: isolate; display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, .8fr); gap: var(--s10); align-items: center; }
.cta::before { content: ""; position: absolute; inset: 0; z-index: -1; background: radial-gradient(80% 120% at 100% 0%, rgba(255, 210, 170, .7), rgba(255, 106, 10, 0) 60%), radial-gradient(60% 90% at 0% 100%, rgba(204, 71, 0, .55), rgba(255, 106, 10, 0) 70%); }
.cta .lead { color: rgba(26, 20, 18, .82); }
.cta .btn--ink { box-shadow: 0 18px 36px -18px rgba(26, 20, 18, .7); }
.cta__art { position: relative; aspect-ratio: 1; }
.cta__art img { position: absolute; inset: -10%; width: 120%; height: 120%; max-width: none; object-fit: contain; filter: drop-shadow(0 30px 40px rgba(120, 40, 0, .35)); }
.cta .contact-lines { display: grid; gap: 6px; font-size: 15.5px; font-weight: 600; }
.cta .contact-lines a { text-decoration: none; }
.cta .contact-lines a:hover { text-decoration: underline; }
@media (max-width: 860px) { .cta { grid-template-columns: 1fr; } .cta__art { width: 60%; margin: -20px auto 0; order: -1; } }

/* ---------- affiches ---------- */
.posters { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: var(--s4); }
@media (max-width: 1020px) { .posters { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 560px) { .posters { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.posters .work__media { box-shadow: var(--sh-2); }

/* ---------- filtres ---------- */
.filters { justify-self: start; display: inline-flex; flex-wrap: wrap; gap: 6px; padding: 6px; border-radius: var(--r-pill); background: var(--porcelain); }
.filters button { height: 40px; padding: 0 18px; border-radius: var(--r-pill); border: 0; background: transparent; font-size: 15px; font-weight: 600; cursor: pointer; color: var(--ink-2); transition: background-color var(--t-ui) var(--ease-out), color var(--t-ui), box-shadow var(--t-ui); }
.filters button:hover { color: var(--ink); }
.filters button[aria-pressed="true"] { background: var(--white); color: var(--ink); box-shadow: 0 1px 2px rgba(26, 20, 18, .08), 0 4px 12px -4px rgba(26, 20, 18, .14); }
.works { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--s8) var(--s5); }
.works--l { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
.works--l .work--l { grid-column: auto; }
@media (max-width: 1020px) { .works { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 560px) { .works { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--s6) var(--s3); } .works--l { grid-template-columns: 1fr !important; } .works .work__title { font-size: 15px; } }
.works [hidden] { display: none !important; }

/* ---------- lecteur vidéo ---------- */
.player { border: 0; padding: 0; margin: auto; width: min(92vw, 1100px); max-height: 92vh; background: transparent; overflow: visible; }
.player::backdrop { background: rgba(14, 11, 10, .72); -webkit-backdrop-filter: blur(18px) saturate(140%); backdrop-filter: blur(18px) saturate(140%); }
.player[open] { animation: pop var(--t-panel) var(--ease-out); }
@keyframes pop { from { opacity: 0; transform: scale(.96) translateY(12px); } }
.player__box { position: relative; display: grid; place-items: center; }
.player video { max-height: 86vh; width: auto; max-width: 100%; border-radius: var(--r-lg); background: #000; box-shadow: 0 40px 100px -30px rgba(0, 0, 0, .8); }
.player__close { position: absolute; top: -14px; right: -14px; z-index: 2; width: 48px; height: 48px; border-radius: 50%; border: 0; cursor: pointer; display: grid; place-items: center; background: rgba(255, 255, 255, .9); box-shadow: var(--sh-2); }
.player__close svg { width: 18px; height: 18px; }
.player__cap { color: #fff; text-align: center; margin-top: 14px; font-weight: 600; }
.player img { max-height: 86vh; width: auto; border-radius: var(--r-md); }
@media (max-width: 600px) { .player__close { top: 8px; right: 8px; } }

/* ---------- formulaire ---------- */
.form { display: grid; gap: var(--s5); }
.field { display: grid; gap: 8px; }
.field label, .field legend { font-size: 14.5px; font-weight: 640; }
.field input, .field textarea, .field select { width: 100%; font: inherit; font-size: 17px; padding: 14px 18px; border-radius: var(--r-md); border: 0; background: var(--white); color: var(--ink); box-shadow: inset 0 0 0 1px var(--line-2); transition: box-shadow var(--t-ui) var(--ease-out); caret-color: var(--orange-deep); }
.field textarea { min-height: 140px; resize: vertical; line-height: 1.5; }
.field input:focus, .field textarea:focus { outline: none; box-shadow: inset 0 0 0 2px var(--orange-deep), 0 0 0 5px rgba(255, 106, 10, .16); }
.field input::placeholder, .field textarea::placeholder { color: var(--ink-3); }
fieldset.field { border: 0; padding: 0; margin: 0; }
.pick { display: flex; flex-wrap: wrap; gap: 8px; }
.pick label { position: relative; cursor: pointer; }
.pick input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.pick span { display: inline-flex; align-items: center; height: 42px; padding: 0 16px; border-radius: var(--r-pill); background: var(--white); box-shadow: inset 0 0 0 1px var(--line-2); font-size: 15px; font-weight: 600; transition: background-color var(--t-ui), box-shadow var(--t-ui); }
.pick input:checked + span { background: var(--orange); box-shadow: inset 0 0 0 1px rgba(204, 71, 0, .35); }
.pick input:focus-visible + span { outline: 2.5px solid var(--orange-deep); outline-offset: 3px; }
.form-card { padding: clamp(24px, 4vw, 44px); border-radius: var(--r-xl); background: var(--porcelain); }
.err { color: #B42318; font-size: 14px; font-weight: 600; }

.contact-list { display: grid; gap: 12px; }
.contact-row { display: grid; grid-template-columns: 48px 1fr auto; gap: 16px; align-items: center; padding: 16px 18px; border-radius: var(--r-lg); background: var(--white); box-shadow: inset 0 0 0 1px var(--line); text-decoration: none; color: inherit; transition: box-shadow var(--t-ui), transform var(--t-ui) var(--ease-out); }
.contact-row:hover { box-shadow: var(--sh-2); transform: translateY(-2px); }
.contact-row .ic { width: 48px; height: 48px; border-radius: 50%; display: grid; place-items: center; background: var(--orange-soft); color: var(--orange-deep); }
.contact-row .ic svg { width: 22px; height: 22px; }
.contact-row b { display: block; font-size: 16.5px; }
.contact-row small { color: var(--ink-2); font-size: 14px; }
.copy { height: 36px; padding: 0 14px; border-radius: var(--r-pill); border: 0; background: var(--porcelain); font-size: 13.5px; font-weight: 650; cursor: pointer; }
.copy:hover { background: var(--orange-soft); }

/* ---------- fondateur ---------- */
.founder { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: clamp(32px, 6vw, 96px); align-items: center; }
.founder__photo { position: relative; border-radius: var(--r-xl); overflow: hidden; aspect-ratio: 4 / 5; background: var(--porcelain); box-shadow: var(--sh-3); }
.founder__photo img { width: 100%; height: 100%; object-fit: cover; }
.founder__badge { position: absolute; left: 16px; bottom: 16px; right: 16px; padding: 14px 18px; border-radius: var(--r-lg); background: rgba(255, 255, 255, .72); box-shadow: var(--glass-edge); -webkit-backdrop-filter: var(--glass-blur); backdrop-filter: var(--glass-blur); }
.founder__badge b { display: block; font-size: 18px; letter-spacing: -.015em; }
.founder__badge span { font-size: 14px; color: var(--ink-2); }
@media (max-width: 860px) { .founder { grid-template-columns: 1fr; } .founder__photo { max-width: 420px; } }

.values { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--s4); }
@media (max-width: 700px) { .values { grid-template-columns: 1fr; } }
.value { padding: 28px; border-radius: var(--r-xl); background: var(--white); box-shadow: inset 0 0 0 1px var(--line); display: grid; gap: 10px; }
.section--porcelain .value { box-shadow: var(--sh-1); }
.value p { color: var(--ink-2); }

.stat-row { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--s4); }
@media (max-width: 860px) { .stat-row { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.stat { padding: 24px; border-radius: var(--r-lg); background: var(--white); box-shadow: inset 0 0 0 1px var(--line); }
.stat b { display: block; font-size: clamp(34px, 3.6vw, 48px); font-weight: 720; letter-spacing: -.045em; line-height: 1; font-variant-numeric: tabular-nums; }
.stat span { display: block; margin-top: 10px; font-size: 15px; color: var(--ink-2); }

/* ---------- étude de cas ---------- */
.case-hero .device { max-width: 980px; margin: clamp(40px, 6vw, 72px) auto 0; padding-right: 8%; padding-bottom: 6%; }
.shots { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--s5); align-items: start; }
.shots figure { border-radius: var(--r-lg); overflow: hidden; background: var(--white); box-shadow: var(--sh-2); }
.shots img { width: 100%; height: auto; }
.shots figcaption { padding: 12px 16px 14px; font-size: 14px; color: var(--ink-2); }
@media (max-width: 860px) { .shots { grid-template-columns: 1fr; } }
.phones { display: flex; gap: clamp(12px, 3vw, 32px); justify-content: center; }
.phones .phone { position: relative; right: auto; bottom: auto; width: min(30%, 260px); }

/* ---------- pied de page ---------- */
.foot { padding-block: 72px 40px; background: var(--white); border-top: 1px solid var(--line); }
.foot__grid { display: grid; grid-template-columns: minmax(0, 1.4fr) repeat(3, minmax(0, 1fr)); gap: var(--s10); }
.foot__brand { display: grid; gap: var(--s4); align-content: start; max-width: 340px; }
.foot__brand img { height: 28px; width: auto; }
.foot h2 { font-size: 14px; font-weight: 650; color: var(--ink-2); margin-bottom: 14px; }
.foot ul { list-style: none; padding: 0; margin: 0; display: grid; gap: 10px; }
.foot a { text-decoration: none; font-size: 15.5px; font-weight: 520; }
.foot a:hover { color: var(--orange-deep); }
.foot__bottom { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 12px; margin-top: 56px; padding-top: 22px; border-top: 1px solid var(--line); font-size: 14px; color: var(--ink-2); }
.foot__bottom a { font-size: 14px; color: var(--ink-2); }
@media (max-width: 900px) { .foot__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .foot__brand { grid-column: 1 / -1; } }

/* bouton WhatsApp flottant (téléphone) */
.wa-float { position: fixed; z-index: 40; right: calc(16px + env(safe-area-inset-right, 0px)); bottom: calc(16px + env(safe-area-inset-bottom, 0px)); width: 60px; height: 60px; border-radius: 50%; display: none; place-items: center; background: rgba(255, 255, 255, .72); box-shadow: var(--glass-edge), 0 16px 34px -12px rgba(26, 20, 18, .4); -webkit-backdrop-filter: var(--glass-blur); backdrop-filter: var(--glass-blur); transition: transform var(--t-panel) var(--ease-out), opacity var(--t-panel); }
.wa-float svg { width: 28px; height: 28px; color: #128C4A; }
.wa-float.is-hidden { transform: translateY(90px); opacity: 0; }
@media (max-width: 960px) { .wa-float { display: grid; } }

/* ---------- révélations : visibles au repos, animées seulement si le navigateur sait le faire ---------- */
@media (prefers-reduced-motion: no-preference) {
  .js .rv { opacity: 0; transform: translateY(26px); transition: opacity 900ms var(--ease-out), transform 1100ms var(--ease-out); transition-delay: var(--d, 0ms); }
  .js .rv.in { opacity: 1; transform: none; }
  .js .rv-s { opacity: 0; transform: translateY(18px); transition: opacity 1000ms var(--ease-out), transform 1200ms var(--ease-out); transition-delay: var(--d, 0ms); }
  .js .rv-s.in { opacity: 1; transform: none; }
  .js .words .w { display: inline-block; opacity: 0; filter: blur(8px); transform: translateY(.18em); transition: opacity 700ms var(--ease-out), filter 700ms var(--ease-out), transform 900ms var(--ease-out); transition-delay: calc(var(--i) * 55ms + var(--d, 0ms)); }
  .js .words.in .w { opacity: 1; filter: none; transform: none; }
}
.noscript-show { display: none; }

/* ---------- arrivée sur une page : fondu simple, sans mise à l'échelle ni flou (texte net sous Windows) ---------- */
@media (prefers-reduced-motion: no-preference) {
  .js main { animation: page-in 420ms var(--ease-out) both; }
  .intro-on main { animation: none; }
}
@keyframes page-in { from { opacity: 0; } }

/* ---------- ouverture (onboarding) ---------- */
.intro { display: none; }
.intro-on .intro { display: block; position: fixed; inset: 0; z-index: 300; cursor: pointer; animation: intro-safe 300ms linear 9s forwards; }
.intro-lock, .intro-lock body { overflow: hidden; }
.intro svg { position: absolute; inset: 0; width: 100%; height: 100%; display: block; }
.intro .s { stroke-dasharray: 1 1.2; stroke-dashoffset: 1.1; }
.intro .s--orange { stroke: var(--orange); }
.intro .s--ink { stroke: var(--ink); }
.intro .s--dot { stroke-dasharray: none; stroke-dashoffset: 0; opacity: 0; transform-box: fill-box; transform-origin: center; transform: scale(.2); }
.intro.play .s { animation: intro-draw 680ms cubic-bezier(.65, 0, .35, 1) var(--d) forwards; }
.intro.play .s--dot { animation: intro-dot 520ms cubic-bezier(.34, 1.56, .64, 1) var(--d) forwards; }
.intro__halo { opacity: 0; }
.intro.play .intro__halo { animation: intro-fade 1400ms var(--ease-out) 100ms forwards; }
.intro__glint { stroke: #fff; stroke-dasharray: .11 .89; stroke-dashoffset: .25; opacity: 0; }
.intro.play .intro__glint { animation: intro-glint 1150ms cubic-bezier(.45, 0, .2, 1) 1250ms forwards; }
.intro__tag { position: absolute; left: 0; right: 0; top: 60%; margin: 0; padding: 0 24px; text-align: center; font-size: clamp(14px, 1.4vw, 17px); font-weight: 560; letter-spacing: -.005em; color: var(--ink-2); opacity: 0; filter: blur(6px); transform: translateY(6px); pointer-events: none; }
.intro.play .intro__tag { animation: intro-tag 700ms var(--ease-out) 1250ms forwards; }
.intro.is-zooming .intro__tag, .intro.is-zooming .intro__skip { transition: opacity 240ms var(--ease-out); opacity: 0 !important; }
.intro__skip { position: absolute; left: 50%; bottom: calc(28px + env(safe-area-inset-bottom, 0px)); transform: translateX(-50%); height: 44px; padding: 0 20px; border: 0; border-radius: var(--r-pill); font: 600 14.5px/1 var(--font); color: var(--ink); background: rgba(255, 255, 255, .7); box-shadow: var(--glass-edge), 0 10px 26px -14px rgba(26, 20, 18, .35); -webkit-backdrop-filter: var(--glass-blur); backdrop-filter: var(--glass-blur); cursor: pointer; opacity: 0; }
.intro.play .intro__skip { animation: intro-fade 500ms var(--ease-out) 600ms forwards; }
.intro.is-out { opacity: 0; transition: opacity 160ms linear; }
@keyframes intro-draw { to { stroke-dashoffset: 0; } }
@keyframes intro-dot { to { opacity: 1; transform: scale(1); } }
@keyframes intro-fade { to { opacity: 1; } }
@keyframes intro-glint { 0% { opacity: 0; stroke-dashoffset: .25; } 18% { opacity: .78; } 82% { opacity: .78; } 100% { opacity: 0; stroke-dashoffset: -.75; } }
@keyframes intro-tag { to { opacity: 1; filter: none; transform: none; } }
@keyframes intro-safe { to { opacity: 0; visibility: hidden; pointer-events: none; } }
.foot__intro { border: 0; padding: 0; background: none; font: inherit; font-size: 14px; color: var(--ink-2); cursor: pointer; text-decoration: underline; text-underline-offset: .2em; text-decoration-color: var(--line-2); }
.foot__intro:hover { color: var(--orange-deep); }

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: 1ms !important; animation-iteration-count: 1 !important; transition-duration: 1ms !important; scroll-behavior: auto !important; }
}
@media (prefers-reduced-transparency: reduce) {
  .nav, .btn--glass, .chip--glass, .sheet, .wa-float, .founder__badge, .chap__inner { background: #fff !important; -webkit-backdrop-filter: none !important; backdrop-filter: none !important; }
}
@media (prefers-contrast: more) {
  .nav, .btn--glass { background: #fff !important; box-shadow: inset 0 0 0 1.5px var(--ink) !important; }
  .muted, .lead, .label, .work__sub { color: var(--ink) !important; }
}
@supports (corner-shape: squircle) {
  .svc, .step, .value, .cta, .reel, .work__media, .laptop, .form-card, .faq details, .spec__item, .stat, .founder__photo { corner-shape: squircle; }
  .svc, .value, .cta, .reel, .form-card { border-radius: 56px; }
  .work__media, .step, .faq details, .spec__item, .stat, .laptop { border-radius: 40px; }
}
@media print { .top, .wa-float, .monde__stage, .monde__progress { display: none !important; } }

/* =====================================================================
   v3.2 · fond de verre sur dégradés orange en mouvement, cartes en relief,
   globe (L'agence), téléphone 3D (Réalisations), page Services enrichie
   ===================================================================== */

/* ---------- fond : blanc de verre posé sur des couleurs floues qui dérivent ---------- */
html { background: #FBF6F2; }
body { background: transparent; }
.ambient { position: fixed; inset: 0; z-index: -1; overflow: hidden; pointer-events: none; contain: strict; }
.ambient i { position: absolute; width: 72vmax; height: 72vmax; border-radius: 50%; will-change: transform; animation: amb 38s var(--ease-io) infinite alternate; }
.ambient i:nth-child(1) { left: -26vmax; top: -30vmax; background: radial-gradient(closest-side, rgba(255, 106, 10, .30), rgba(255, 106, 10, .12) 55%, rgba(255, 106, 10, 0)); }
.ambient i:nth-child(2) { right: -30vmax; top: 4vh; background: radial-gradient(closest-side, rgba(255, 168, 108, .42), rgba(255, 168, 108, .14) 55%, rgba(255, 168, 108, 0)); animation-duration: 46s; animation-delay: -12s; }
.ambient i:nth-child(3) { left: -20vmax; bottom: -40vmax; background: radial-gradient(closest-side, rgba(255, 128, 60, .26), rgba(255, 128, 60, .1) 55%, rgba(255, 128, 60, 0)); animation-duration: 52s; animation-delay: -26s; }
.ambient i:nth-child(4) { left: 26vw; top: 30vh; width: 58vmax; height: 58vmax; background: radial-gradient(closest-side, rgba(255, 214, 180, .55), rgba(255, 214, 180, 0)); animation-duration: 42s; animation-delay: -6s; }
.ambient i:nth-child(5) { right: -18vmax; bottom: -34vmax; width: 60vmax; height: 60vmax; background: radial-gradient(closest-side, rgba(255, 90, 0, .2), rgba(255, 90, 0, 0)); animation-duration: 58s; animation-delay: -34s; }
.ambient::after { content: ""; position: absolute; inset: 0; background: rgba(255, 255, 255, .34); }
@keyframes amb {
  0% { transform: translate3d(0, 0, 0) scale(1); }
  33% { transform: translate3d(9vw, 7vh, 0) scale(1.12); }
  66% { transform: translate3d(-6vw, 12vh, 0) scale(.94); }
  100% { transform: translate3d(5vw, -8vh, 0) scale(1.06); }
}
/* sections claires : verre blanc, laissent passer les couleurs */
.section--porcelain, .section--glass { background: rgba(255, 255, 255, .42); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .8), inset 0 -1px 0 rgba(26, 20, 18, .04); }
.section--peach { background: rgba(255, 245, 238, .55); }
.step, .value, .spec__item, .faq details, .stat, .svc, .kpi { background: rgba(255, 255, 255, .64); box-shadow: var(--glass-edge), var(--sh-1); }
.section--porcelain .step, .section--porcelain .value, .section--porcelain .spec__item, .section--porcelain .faq details, .section--glass .value, .section--glass .spec__item { background: rgba(255, 255, 255, .72); }
.form-card { background: rgba(255, 255, 255, .6); box-shadow: var(--glass-edge), var(--sh-2); }
.laptop { background: linear-gradient(180deg, rgba(255, 255, 255, .92), rgba(246, 240, 236, .82)); }
.halo { opacity: .7; }

/* ---------- en-tête : centre de la vitre net, réfraction réservée au bord ---------- */
.lg-refract .nav.lg-on { -webkit-backdrop-filter: var(--lg-filter) blur(10px) saturate(170%); backdrop-filter: var(--lg-filter) blur(10px) saturate(170%); background: rgba(255, 255, 255, .62); }
.nav { background: rgba(255, 255, 255, .7); }

/* ---------- accueil : rien ne passe sous l'en-tête, même sur un écran bas ---------- */
.chap { padding-top: calc(96px + env(safe-area-inset-top, 0px)); padding-bottom: 48px; box-sizing: border-box; }
.chap--hero .display { font-size: min(var(--fs-display), 15.5vh); }
.chap--hero .chap__inner { gap: min(var(--s6), 2.6vh); }
@media (max-height: 640px) and (min-width: 761px) { .chap--hero .lead { font-size: 17px; } .scroll-cue { display: none; } }

/* ---------- carte « Un projet ? » en relief ---------- */
.cta-3d { perspective: 1400px; }
.cta-3d .cta { transform: rotateX(var(--rx, 0deg)) rotateY(var(--ry, 0deg)); will-change: transform; box-shadow: 0 50px 90px -40px rgba(194, 65, 0, .55), 0 18px 34px -18px rgba(120, 40, 0, .35), inset 0 1px 0 rgba(255, 255, 255, .45), inset 0 0 0 1px rgba(255, 255, 255, .18); }
.cta__glare { position: absolute; inset: 0; z-index: 2; pointer-events: none; border-radius: inherit; background: radial-gradient(520px circle at var(--gx, 50%) var(--gy, 30%), rgba(255, 255, 255, .55), rgba(255, 255, 255, .12) 38%, rgba(255, 255, 255, 0) 62%); opacity: var(--glare, 0); mix-blend-mode: soft-light; }
.cta__text { position: relative; z-index: 3; translate: calc(var(--px, 0) * -8px) calc(var(--py, 0) * 8px); }
.cta__art { z-index: 1; translate: calc(var(--px, 0) * 22px) calc(var(--py, 0) * -22px); }
.cta__art img { transition: none; }
.cta::after { content: ""; position: absolute; inset: 0; z-index: 2; border-radius: inherit; pointer-events: none; background: linear-gradient(135deg, rgba(255, 255, 255, .28), rgba(255, 255, 255, 0) 32%, rgba(255, 255, 255, 0) 70%, rgba(255, 255, 255, .12)); }

/* ---------- globe ---------- */
.globe-stage { position: relative; width: min(100%, 600px); aspect-ratio: 1; justify-self: center; cursor: grab; touch-action: pan-y; -webkit-user-select: none; user-select: none; }
.globe-stage.is-grab { cursor: grabbing; }
.globe-stage canvas { position: absolute; inset: 0; width: 100%; height: 100%; }
.globe-poster { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; transition: opacity 700ms var(--ease-out); }
.globe-live .globe-poster { opacity: 0; }
.globe-stage::after { content: ""; position: absolute; left: 18%; right: 18%; bottom: -4%; height: 9%; border-radius: 50%; background: radial-gradient(closest-side, rgba(194, 65, 0, .22), rgba(194, 65, 0, 0)); z-index: -1; }
.globe-tag { position: absolute; left: 2%; bottom: 16%; font-size: 13px; pointer-events: none; }
.globe-hint { position: absolute; left: 0; right: 0; bottom: -2px; text-align: center; font-size: 12.5px; font-weight: 600; letter-spacing: .02em; color: var(--ink-3); pointer-events: none; }
@media (max-width: 900px) { .globe-stage { width: min(100%, 460px); margin-top: 8px; } }

/* ---------- téléphone 3D ---------- */
.hero--works .hero__grid { align-items: center; }
.p3d { --pw: 262px; --ph: 548px; --pr: 44px; position: relative; height: clamp(560px, 46vw, 660px); display: grid; place-items: center; perspective: 1500px; cursor: grab; touch-action: pan-y; -webkit-user-select: none; user-select: none; }
.p3d.is-grab { cursor: grabbing; }
.p3d__rig { position: relative; width: var(--pw); height: var(--ph); transform-style: preserve-3d; will-change: transform; transform: rotateX(-6deg) rotateY(-20deg); }
.p3d__slice { position: absolute; inset: 0; border-radius: var(--pr); background: linear-gradient(90deg, #3a322e, #8a7d74 12%, #463c37 40%, #6f645c 60%, #3a322e 88%, #786b62); transform: translateZ(var(--z)); }
.p3d__front, .p3d__back { position: absolute; inset: 0; border-radius: var(--pr); -webkit-backface-visibility: hidden; backface-visibility: hidden; }
.p3d__front { transform: translateZ(6.3px); padding: 9px; background: #0a0807; box-shadow: inset 0 0 0 1.5px rgba(255, 255, 255, .22), inset 0 0 0 4px #1d1816; }
.p3d__screen { position: relative; width: 100%; height: 100%; border-radius: calc(var(--pr) - 9px); overflow: hidden; background: #050403; }
.p3d__screen video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: 0; transition: opacity 700ms var(--ease-out); }
.p3d__screen video.on { opacity: 1; }
.p3d__island { position: absolute; z-index: 3; top: 11px; left: 50%; width: 84px; height: 25px; margin-left: -42px; border-radius: 20px; background: #000; }
.p3d__cap { position: absolute; z-index: 3; left: 12px; right: 12px; bottom: 14px; padding: 10px 13px; border-radius: 16px; background: rgba(14, 11, 10, .58); color: #fff; font-size: 12.5px; font-weight: 620; line-height: 1.3; opacity: 0; translate: 0 8px; transition: opacity 500ms var(--ease-out), translate 600ms var(--ease-out); }
.p3d__cap.in { opacity: 1; translate: 0 0; }
.p3d__glare { position: absolute; inset: 0; z-index: 4; pointer-events: none; background: linear-gradient(108deg, rgba(255, 255, 255, 0) calc(var(--glare-x, 50%) - 22%), rgba(255, 255, 255, .16) var(--glare-x, 50%), rgba(255, 255, 255, 0) calc(var(--glare-x, 50%) + 22%)); }
.p3d__back { transform: rotateY(180deg) translateZ(6.3px); display: grid; place-items: center; background: radial-gradient(120% 80% at 28% 16%, #FFB07A, #FF6A0A 44%, #C24100 100%); box-shadow: inset 0 0 0 1.5px rgba(255, 255, 255, .35), inset 0 20px 40px -20px rgba(255, 255, 255, .5); }
.p3d__back img { width: 118px; height: auto; }
.p3d__cam { position: absolute; top: 16px; left: 16px; width: 98px; height: 98px; border-radius: 30px; background: rgba(255, 255, 255, .2); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .4), 0 6px 14px -6px rgba(120, 40, 0, .5); display: grid; grid-template-columns: 1fr 1fr; place-items: center; padding: 10px; }
.p3d__cam i { width: 34px; height: 34px; border-radius: 50%; background: radial-gradient(circle at 35% 35%, #4b4644, #0d0b0a 60%); box-shadow: 0 0 0 3px rgba(40, 30, 26, .6); }
.p3d__cam i:nth-child(3) { grid-column: 1 / 3; }
.p3d__chip { position: absolute; z-index: 5; transform: translateZ(64px); -webkit-backface-visibility: hidden; backface-visibility: hidden; white-space: nowrap; background: rgba(255, 255, 255, .86) !important; -webkit-backdrop-filter: none !important; backdrop-filter: none !important; box-shadow: var(--glass-edge), var(--sh-2); }
.p3d__chip--a { left: -112px; top: 18%; }
.p3d__chip--b { right: -138px; top: 46%; }
.p3d__chip--c { left: -96px; bottom: 16%; }
.p3d__shadow { position: absolute; left: 50%; bottom: 2%; width: 250px; height: 34px; margin-left: -125px; border-radius: 50%; background: radial-gradient(closest-side, rgba(26, 20, 18, .26), rgba(26, 20, 18, 0)); pointer-events: none; }
@media (max-width: 900px) { .p3d { --pw: 216px; --ph: 452px; --pr: 38px; height: 520px; } .p3d__chip--a { left: -70px; } .p3d__chip--b { right: -84px; } .p3d__chip--c { left: -60px; } }

/* ---------- mention discrète « projet concept » ---------- */
.concept-tag { display: inline-block; margin-left: 8px; font: 600 10.5px/1 ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace; letter-spacing: .06em; color: var(--ink-3); opacity: .7; vertical-align: 1px; }

/* ---------- Services : chiffres, six métiers illustrés ---------- */
.kpis { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--s4); }
.kpi { padding: 26px 24px; border-radius: var(--r-lg); display: grid; gap: 10px; align-content: start; }
.kpi b { font-size: clamp(38px, 4vw, 56px); font-weight: 740; letter-spacing: -.05em; line-height: 1; background: linear-gradient(180deg, #FF7A1F, #C24100); -webkit-background-clip: text; background-clip: text; color: transparent; }
.kpi span { font-size: 15px; color: var(--ink-2); line-height: 1.45; }
@media (max-width: 900px) { .kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.svc-rows { display: grid; gap: clamp(72px, 10vw, 150px); }
.svc-row { display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(0, .92fr); gap: clamp(32px, 5.5vw, 88px); align-items: center; }
.svc-row--flip .svc-row__media { order: 2; }
.svc-row__text { display: grid; gap: var(--s5); align-content: center; }
.svc-row__text .ticks { margin-top: 4px; }
.svc-row__text .ticks--2 { grid-template-columns: 1fr; gap: 12px; }
.svc-row__n { font-size: 13.5px; font-weight: 720; letter-spacing: .12em; color: var(--orange-deep); }
.svc-row__media { position: relative; aspect-ratio: 5 / 4; border-radius: 40px; overflow: hidden; display: grid; place-items: center; background: linear-gradient(160deg, rgba(255, 255, 255, .78), rgba(255, 241, 232, .6)); box-shadow: var(--glass-edge), var(--sh-2); isolation: isolate; }
.svc-row__media::before { content: ""; position: absolute; inset: -20%; z-index: -1; background: radial-gradient(40% 40% at 70% 30%, rgba(255, 106, 10, .18), rgba(255, 106, 10, 0)), radial-gradient(45% 45% at 20% 80%, rgba(255, 180, 120, .25), rgba(255, 180, 120, 0)); }
@media (max-width: 900px) { .svc-row { grid-template-columns: 1fr; } .svc-row--flip .svc-row__media { order: 0; } }
.sm-video { position: relative; width: 86%; aspect-ratio: 16 / 9; border-radius: 22px; overflow: hidden; box-shadow: var(--sh-3); background: #0E0B0A; }
.sm-video video { width: 100%; height: 100%; object-fit: cover; }
.sm-tag { position: absolute; left: 12px; top: 12px; font-size: 12.5px; }
.sm-fan { position: relative; width: 100%; height: 100%; }
.sm-fan img { position: absolute; left: 50%; top: 50%; width: 38%; aspect-ratio: 4 / 5; object-fit: cover; border-radius: 16px; box-shadow: var(--sh-3); transform: translate(-50%, -50%) translateX(calc((var(--i) - 1) * 62%)) rotate(calc((var(--i) - 1) * 9deg)) translateY(calc(var(--i) * 0px)); transition: transform 900ms var(--ease-out); }
.sm-fan img:nth-child(2) { z-index: 2; transform: translate(-50%, -54%) scale(1.06); }
.svc-row:hover .sm-fan img:nth-child(1) { transform: translate(-50%, -50%) translateX(-74%) rotate(-12deg); }
.svc-row:hover .sm-fan img:nth-child(3) { transform: translate(-50%, -50%) translateX(74%) rotate(12deg); }
.sm-brand { width: 80%; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.sm-brand__t { display: grid; place-items: center; aspect-ratio: 16 / 10; border-radius: 22px; box-shadow: var(--sh-2); padding: 14%; }
.sm-brand__t { min-width: 0; } .sm-brand__t img { width: 100%; max-width: 100%; height: auto; }
.sm-brand__t--w { background: #fff; } .sm-brand__t--o { background: var(--orange); } .sm-brand__t--n { background: var(--night); }
.sm-brand__sw { min-width: 0; aspect-ratio: 16 / 10; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; align-content: center; padding: 14px; border-radius: 22px; background: rgba(255, 255, 255, .7); box-shadow: var(--sh-1); }
.sm-brand__sw i { aspect-ratio: 1; border-radius: 50%; box-shadow: inset 0 0 0 1px rgba(26, 20, 18, .1); }
.sm-web { width: 84%; }
.sm-web .device { padding-right: 6%; padding-bottom: 6%; }
.sm-social { position: relative; width: 100%; height: 100%; display: grid; place-items: center; }
.sm-social__ph { width: 34%; aspect-ratio: 9 / 16; border-radius: 26px; padding: 6px; background: #0E0B0A; box-shadow: var(--sh-3); }
.sm-social__ph video { width: 100%; height: 100%; object-fit: cover; border-radius: 20px; }
.sm-social__c { position: absolute; font-size: 13px; animation: bob 6s var(--ease-io) infinite alternate; }
.sm-social__c svg { width: 15px; height: 15px; }
.sm-social__c--1 { left: 12%; top: 20%; } .sm-social__c--2 { right: 12%; top: 38%; animation-delay: -2s; } .sm-social__c--3 { left: 16%; bottom: 18%; animation-delay: -4s; }
@keyframes bob { from { translate: 0 -6px; } to { translate: 0 6px; } }
.sm-audit { width: 84%; padding: 24px 24px 20px; border-radius: 26px; background: rgba(255, 255, 255, .86); box-shadow: var(--glass-edge), var(--sh-3); display: grid; gap: 14px; }
.sm-audit__head { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; padding-bottom: 6px; border-bottom: 1px solid var(--line); }
.sm-audit__head b { font-size: 17px; } .sm-audit__head span { font-size: 12.5px; color: var(--ink-3); }
.sm-audit__row { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr) auto; gap: 12px; align-items: center; font-size: 14.5px; }
.sm-audit__bar { height: 8px; border-radius: 8px; background: rgba(26, 20, 18, .08); overflow: hidden; }
.sm-audit__bar i { display: block; height: 100%; width: var(--v); border-radius: inherit; background: linear-gradient(90deg, #FF9A4D, #FF6A0A); transform-origin: left; transition: transform 1.2s var(--ease-out) .3s; }
.js .svc-row__media:not(.in) .sm-audit__bar i { transform: scaleX(0); }
.sm-audit__row b { font-size: 13.5px; color: var(--ink-2); }

@media (prefers-reduced-motion: reduce) {
  .ambient i, .sm-social__c { animation: none; }
  .cta-3d .cta { transform: none; }
}
@media (prefers-reduced-transparency: reduce) {
  .ambient { display: none; }
  html { background: #fff; }
}
