/* Mouvement : même identité, enrichissement progressif ; contenu visible sans JavaScript. */
:root{--motion-ease:cubic-bezier(.16,1,.3,1);--motion-fast:180ms;scrollbar-color:var(--muted) var(--bg)}
html,body{overflow-x:clip}
input,textarea{caret-color:var(--accent-ink)}
.hero-copy{animation:none!important}
.hero h1{letter-spacing:-.04em}
h1 .title-line,h1 .title-line-inner{color:inherit}
.title-line{display:block;overflow:clip;perspective:800px}
.title-line-inner{display:block;transform-origin:50% 100%;padding-bottom:.07em;margin-bottom:-.07em}
h1 .accent-word{color:var(--accent-ink)}
.hero-specialties{font-size:12px;color:var(--muted);margin:-8px 0 18px;letter-spacing:.1px}
.project-position{display:none;font-variant-numeric:tabular-nums}
.motion-toggle{position:fixed;right:22px;bottom:22px;display:none;align-items:center;gap:9px;z-index:8;background:var(--bg);color:var(--ink);border:1px solid var(--line);border-radius:99px;padding:12px 15px;font-size:11px;box-shadow:0 5px 16px #172e4410;min-height:42px;transition:background .2s,border-color .2s}
.motion-ready .motion-toggle{display:flex}.motion-toggle:hover{background:var(--surface);border-color:var(--muted)}
.motion-toggle .play-icon{display:none}.motion-toggle[aria-pressed="true"] .play-icon{display:block}.motion-toggle[aria-pressed="true"] .pause-icon{display:none}.motion-toggle:disabled{cursor:default;opacity:.7}
.dialog-is-open .motion-toggle{visibility:hidden}
.reading-progress{position:fixed;inset:0 0 auto;height:3px;transform:scaleX(0);transform-origin:0 50%;background:var(--accent-ink);z-index:8;pointer-events:none}
.cursor-trail{position:fixed;top:0;left:0;width:70px;height:70px;border-radius:50%;pointer-events:none;z-index:9;opacity:0;display:none;transition:opacity 180ms}
.cursor-trail::before{content:'';position:absolute;inset:0;border:1px solid var(--accent-ink);background:var(--accent);border-radius:50%;transform:scale(.23);transition:transform 220ms var(--motion-ease)}
.cursor-trail span{position:relative;font-size:11px;font-weight:650;color:#24394d;opacity:0;transform:scale(.65);transition:opacity 150ms,transform 220ms var(--motion-ease)}
.cursor-trail.is-project::before{transform:scale(1)}.cursor-trail.is-project span{opacity:1;transform:scale(1)}
.dialog-is-open .cursor-trail{display:none!important}
.motion-active .project-cover{transform-style:preserve-3d;transform-origin:center;isolation:isolate}
.motion-active .project-cover>img{transition:none}
.motion-active .project-arrow{transition:background .2s;transform:none!important}
.motion-active .project-open:focus-visible{outline-offset:7px}
.motion-word-clip{display:inline-block;overflow:clip;vertical-align:bottom;padding-bottom:.1em;margin-bottom:-.1em}
.motion-word{display:inline-block;transform-origin:left bottom}
.motion-active .button>span{transition:transform 250ms var(--motion-ease)}.motion-active .button:hover>span{transform:translate(3px,-3px)}
.motion-active .text-link{background:linear-gradient(currentColor,currentColor) 0 100%/0 1px no-repeat;border-bottom-color:transparent;transition:background-size .35s var(--motion-ease)}.motion-active .text-link:hover,.motion-active .text-link:focus-visible{background-size:100% 1px}
.services summary{transition:color .2s}.services summary:hover{color:var(--accent-ink)}
.services{overflow-x:clip}
.services .service-number{display:none}.services details p{margin-left:0}
.motion-active .contact-asterisk{transform-origin:50% 50%}
.motion-active .project-meta{transition:color .2s}
.project-cover>img{box-shadow:-8px 12px 32px rgb(0 0 0 / .12)}
.contact-panel h2{letter-spacing:-.04em}
.contact-panel h2 .motion-word-clip,.contact-panel h2 .motion-word{color:inherit}
.hero-specialties,.project-count{font-size:12px}
.contact-panel>p{font-size:14px}
.detail-tags{color:var(--muted);font-size:13px;line-height:1.5;margin-bottom:12px}
.site-footer{padding-bottom:90px}.site-footer>a:last-child{font-size:12px}
/* La pile n’existe que lorsque le moteur et les dimensions appropriées sont actifs. */
@media(min-width:1024px) and (min-height:700px){
  .motion-deck{display:block;padding-top:10px;padding-bottom:26px;position:relative;isolation:isolate}
  .motion-deck .project-card:nth-child(n){position:relative;grid-column:auto;width:100%;margin:0 0 clamp(100px,17vh,180px);perspective:1400px}
  .motion-deck .project-card:last-child{margin-bottom:0}
  .motion-deck .project-open{padding:17px;background:var(--bg);border:1px solid var(--line);border-radius:26px;box-shadow:0 18px 46px #172e4412;transform-origin:50% 0}
  .motion-deck .project-cover{height:clamp(310px,51dvh,510px);aspect-ratio:auto;border-radius:16px}
  .motion-deck .project-cover>img{width:73%;height:85%;right:1%;bottom:-9%;object-position:top;transform:rotate(-4deg)}
  .motion-deck .cover-name,.motion-deck .project-lina .cover-name{left:38px;top:34px;font-size:clamp(36px,4.2vw,58px);line-height:1.05;letter-spacing:-.04em;max-width:28%}
  .motion-deck .project-nounou .cover-name{max-width:270px;font-size:clamp(32px,3.8vw,51px)}
  .motion-deck .project-arrow{top:28px;right:28px;width:46px;height:46px}
  .motion-deck .project-meta{display:grid;grid-template-columns:65px 1fr auto;align-items:center;gap:18px;margin:0;padding:22px 12px 8px}
  .motion-deck .project-position{display:block;color:var(--muted);font-size:11px;letter-spacing:.8px}
  .motion-deck .project-meta h3{font-size:24px;letter-spacing:-.04em;margin-bottom:4px}
  .motion-deck .project-meta p{font-size:14px}
  .motion-deck .tags{max-width:none;margin:0;justify-content:flex-end}.motion-deck .tags span{font-size:11px;padding:8px 12px}
  .motion-deck .project-transcripteur .project-cover>img{width:46%;height:112%;right:10%;bottom:-28%;object-fit:contain;object-position:top;transform:rotate(5deg)}
  .motion-deck .project-lina .project-cover>img{width:73%;height:95%;right:1%;bottom:-18%}
}
@media(hover:hover) and (pointer:fine){.motion-active .cursor-trail{display:grid;place-items:center}}
@media(min-width:768px) and (max-width:1023px){.hero h1{font-size:clamp(46px,6vw,61px)}}
@media(max-width:767px){
  .hero-specialties{font-size:12px;margin-top:-9px;margin-bottom:17px}
  .motion-toggle{right:12px;bottom:12px;padding:10px 12px;font-size:12px;gap:6px}
  .tags span{font-size:11px}.filter{font-size:12px}
  .contact-panel>p{font-size:13px}.site-footer>a:last-child{font-size:11px}
  .site-footer{padding-bottom:82px}
  .motion-active .project-cover{transform:none!important}
  .cursor-trail{display:none!important}
}
@media(prefers-reduced-motion:reduce){
  .reading-progress,.cursor-trail{display:none!important}
  .motion-active .project-cover{transform:none!important}
  .motion-word{transform:none!important;opacity:1!important}
}
